main函数开始前执行函数
来源:互联网 发布:太原医院挂号软件 编辑:程序博客网 时间:2024/05/01 08:09
在gcc中,可以使用attribute关键字,声明constructor和destructor,代码如下:
#include <stdio.h>
__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;
}
vc不支持attribute关键字,在vc中,可以使用如下方法:
#include <stdio.h>
int
main( int argc, char ** argv )
{
printf("%s/n",__FUNCTION__);
return 0;
}
int before_main()
{
printf("%s/n",__FUNCTION__);
return 0;
}
int after_main()
{
printf("%s/n",__FUNCTION__);
return 0;
}
typedef int func();
#pragma data_seg(".CRT$XIU")
static func * before[] = { before_main };
#pragma data_seg(".CRT$XPU")
static func * after[] = { after_main };
#pragma data_seg()
编译执行,上述两段代码的结果均为:
before_main
main
after_main
可以在main前后调用多个函数,在gcc下使用attribute声明多个constructor、destructor,vc下在before、after数组中添加多个函数指针。
- main函数开始前执行函数
- 语言中如何在main函数开始前执行函数
- C语言中如何在main函数开始前执行函数
- C语言中如何在main函数开始前执行函数
- C语言中如何在main函数开始前执行函数
- C语言中如何在main函数开始前执行函数
- C语言中怎么在main函数开始前执行函数
- C语言中如何在main函数开始前执行函数
- main函数执行前发生了什么
- (面试题)main函数在开始前或结束后是否会执行其他的代码?
- c程序从main函数开始执行?
- 在main 函数执行前、后再执行的代码
- main函数执行前、后再执行的代码
- main函数执行前、后再执行的代码
- main 函数执行前、后执行的代码
- main函数执行前、后再执行的代码
- main函数执行前、后再执行的代码
- main函数执行前、后再执行的代码
- oracle11g安装成功之保障
- 代理模式,JDK动态代理,SpringAOP来龙去脉
- ckeditor源码编辑模式,添加style、javascript内容丢失的解决
- 九章算法面试题31 子数组的最大差
- listview
- main函数开始前执行函数
- linux驱动 之 module_init解析 (上)
- jQuery-AJAX模块解析-request部分
- 多属性文本(富文本)的使用详解
- IOS开发语言Swift入门连载---协议
- RAC环境下字符集的修改
- Android动画
- activiti-explorer 使用db2数据库,启动tomcat时报错
- VMWare的三种网络工作模式