linux中在main函数之前执行其他函数实现
2012-07-15 23:08
218 查看
在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
//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
相关文章推荐
- 可以在main函数之前执行的函数
- main函数之前--真正的函数执行入口或开始
- 在main函数退出后执行其他函数 http://blog.chinaunix.net/uid-22332450-id-1775058.html
- C++面试题: main函数执行完之后还会调用其他的函数吗?
- mian函数之前执行函数,和main函数之后执行函数
- main函数之前--真正的函数执行入口或开始
- 在main函数之前执行一些函数
- 从开机加电到执行main函数之前的过程+读Linux内核设计艺术..
- Linux-C基础知识学习:C语言作业-将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。
- main函数之前--真正的函数执行入口或开始
- 让自己的函数在main函数之前执行
- main函数之前--真正的函数执行入口或开始
- main函数之前--真正的函数执行入口或开始
- linux0.11内核学习笔记__从开机加电到执行main函数之前的过程
- linux从开机加电到执行main函数之前
- Linux 0.12内核从开机加电到执行main函数之前的过程
- atexit()函数(使main函数之后可以执行其他函数)
- 11周1--2以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试;
- C++面试题之 main函数执行完之后还会调用其他的函数吗?
- __attribute__((constructor)) 修饰的函数在main函数之前执行