C语言中的构造函数

C++和JAVA中有构造函数,其实C语言中也早就有了,在gcc下可以使用关键字 __attribute__指定构造函数。

这些构造函数由编译器处理,在执行main函数之前,就会执行。

__attribute__使用方法(function 就是要声明的构造函数):

void __attribute__((constructor))  function(void)

例如:

#include、
 
void __attribute__((constructor)) test(void){
    printf("This is the construtor function: test\n");
}

int main(){
     printf("this is the main function!\n");
     return 0;
}
上面定义了一个构造函数test,其功能就是输出一句话。

输出结果:


可以看到,在main函数执行之前,就先执行了构造函数test。

你可能感兴趣的:(C/C++)