关注点:__attribute__机制,用于声明,而不是定义,并且其位置约束为放于声明的尾部“;”之前。
对于__attribute__((constructor和(destructor)) ,
用法一:
void before_main() __attribute__((constructor));
void before_main()
{
printf("before main\n");
}
void after_main() __attribute__((constructor));
void after_main()
{
printf("after main\n");
}
亦可如此使用:
__attribute__((constructor)) void before_main()
{
printf("before main\n");
}
__attribute__((destructor)) void after_main()
{
printf("after main\n");
}
两种用法都可。