C语言析构函数
C语言里面的结构(struct)只是吧各种不同的数据类型整合在一起,变成一种程序员自定义的数据列行。
结构是完全开放的,任意一个函数,只要能访问到这个结构,就可以随意操作其中的数据。
而类(class)除了是将不同的数据类型以私有的形式(private)组合在一起之外,还提供了访问这些数据的方法(即类函数)。
这样,就是类具备了封装的功能,有效的保护了数据。
同时,类还有构造,析构,继承和多态等多种优点。这些优势,使得C++的应用越来越广泛。
在gcc下可以使用关键字__ attribute__指定构造函数,这些构造函数由编译器进行处理,在执行main函数之前,就会执行。
__attribute__使用方法:
void __attribute__((constructor)) function(void)
#include <stdio.h>
void __attribute__((constructor)) test(void) {
printf("This is a constructor function: test\n");
}
int main() {
printf("This is main function\n");
return 0;
}
编译并运行可以看到 在main函数执行之前,执行了test函数。
网友评论