C语言析构函数

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函数。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容