C 属性¶
1 constructor、destructor¶
- 语法
constructor:修饰的函数会在main()函数 开始之前 执行constructor (priority):同上,但可以指定一个优先级destructor:修饰的函数会在main()函数 结束之后 执行destructor (priority):同上,但可以指定一个优先级- 使用场景:一般用户整个项目初始化和项目结束的资源释放。
- 优势:不用手动调用,自动执行。
- 示例:
int main(int argc, char * argv[]) {
printf("main");
return 0;
}
__attribute__((constructor(103))) static void beforeFunction()
{
printf("before\n");
}
__attribute__((destructor)) static void afterFunction()
{
printf("after\n");
}
- 输出:
before
main
after