Computer >> Máy Tính >  >> Lập trình >> C ++

Mã tự hủy trong C

Ở đây chúng ta sẽ xem cách tạo mã tự hủy trong C. Mã tự hủy về cơ bản là thực thi mã và sau đó xóa tệp thực thi sau khi thực thi.

Nhiệm vụ này rất đơn giản. Chúng ta cần lấy tên tệp thực thi để xóa nó. Chúng ta có thể sử dụng các đối số dòng lệnh. Argv [0] sẽ giữ tên tệp thực thi. Sau đó, sử dụng hàm remove (), chúng ta có thể xóa nó.

Trong chương trình, chúng ta có thể thấy rằng một dòng đang được in sau khi xóa tệp đó. Vì vậy, bây giờ câu hỏi đặt ra là dòng tiếp theo đang thực thi như thế nào trong khi tệp hiện tại không có mặt?

Trên thực tế, toàn bộ mã đã chuyển đổi được sao chép vào bộ nhớ chính trước khi thực thi nó. Nội dung tệp thực thi được sao chép; nó không được sử dụng chính nó. Vì vậy, từ bộ nhớ chính, dòng tiếp theo sẽ được in.

Ví dụ

#include<stdio.h>
int main(int c, char *argv[]) {
   printf("After completing this, the file will be removed\n");
   remove(argv[0]); //remove the argv[0] this is the name of the executable
   printf("Removed\n");
   return 0;
}

Đầu ra

After completing this, the file will be removed
Removed