__attribute__((constructor))

gcc为函数提供了几种类型的属性,其中包含:构造函数(constructors)和析构函数(destructors)。
程序员应当使用类似下面的方式来指定这些属性:

__attribute__((constructor)) // 在main函数被调用之前调用 __attribute__((destructor)) // 在main函数被调用之后调
#include<stdio.h> 
__attribute__((constructor)) void before_main() { printf("before main\n"); } __attribute__((destructor)) void after_main() { printf("after main\n"); } int main(int argc, char **argv) { printf("in main\n"); return 0; }
//这个例子的输出结果将会是:
before main
in main
after main

你可能感兴趣的:(attribute)