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