在
linux
中,
可以使用attribute关键字,声明constructor和destructor,代码如下:
//Test.c
#include
__attribute((constructor)) void before_main()
{
printf("%s\n",__FUNCTION__);
}
__attribute((destructor)) void after_main()
{
printf("%s\n",__FUNCTION__);
}
int main( int argc, char ** argv )
{
printf("%s\n",__FUNCTION__);
return 0;
}
Gcc test.c -o test
./test
结果会答应如下结果:
before_main
main
after_main