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

Các cú pháp thuộc tính ((constructor)) và thuộc tính ((destructor)) trong C trong phần hướng dẫn?

Ở đây chúng ta sẽ xem cách viết mã trong đó có hai hàm và một hàm sẽ được thực thi trước hàm chính, và một hàm khác sẽ được thực thi sau hàm chính. Các tính năng này được sử dụng để thực hiện một số tác vụ khởi động trước khi thực thi chính và một số tác vụ dọn dẹp sau khi thực hiện chính.

Để thực hiện công việc này, chúng ta phải đặt thuộc tính cho hai hàm này. Khi thuộc tính là thuộc tính hàm tạo, thì nó sẽ được thực thi trước hàm main () và khi thuộc tính là kiểu hàm hủy, thì nó sẽ được thực thi sau hàm main ().

Chúng tôi đang sử dụng các chức năng GCC. Hàm là __attribute __ (). Trong trường hợp này, chúng tôi đang sử dụng hai tùy chọn khác nhau. Hàm tạo và mã hủy với hàm __attribute __ (). Cú pháp __attribute __ ((constructor)) được sử dụng để thực thi một hàm khi chương trình bắt đầu. và cú pháp __attribute __ ((hàm hủy)) được sử dụng để thực thi hàm khi hàm main () hoàn thành. Vui lòng xem qua ví dụ để hiểu rõ hơn.

Ví dụ

#include <stdio.h>
void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));
void before_main() {
   printf("This is executed before main.\n");
}
void after_main() {
   printf("This is executed after main.");
}
main() {
   printf("Inside main\n");
}

Đầu ra

This is executed before main.
Inside main
This is executed after main.