C++和JAVA中有构造函数,其实C语言中也早就有了,在gcc下可以使用关键字 __attribute__指定构造函数。
这些构造函数由编译器处理,在执行main函数之前,就会执行。
__attribute__使用方法(function 就是要声明的构造函数):
void __attribute__((constructor)) function(void)
例如:
#include<stdio.h>、
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。