C语言析构函数

C语言析构函数

C语言里面的结构(struct)只是吧各种不同的数据类型整合在一起,变成一种程序员自定义的数据列行。

结构是完全开放的,任意一个函数,只要能访问到这个结构,就可以随意操作其中的数据。

而类(class)除了是将不同的数据类型以私有的形式(private)组合在一起之外,还提供了访问这些数据的方法(即类函数)。

这样,就是类具备了封装的功能,有效的保护了数据。

同时,类还有构造,析构,继承和多态等多种优点。这些优势,使得C++的应用越来越广泛。

在gcc下可以使用关键字__ attribute__指定构造函数,这些构造函数由编译器进行处理,在执行main函数之前,就会执行。

__attribute__使用方法:

void __attribute__((constructor)) function(void)
#include 
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函数。

你可能感兴趣的:(C语言析构函数)