您的位置:首页 > 其它

__attribute__((constructor)) 高版本gcc不执行

2015-08-27 11:16 1391 查看
__attribute__((constructor))
// 在main函数被调用之前调用

__attribute__((destructor))
// 在main函数被调用之后调

static void func() __attribute__ ((constructor));

void func()

{

do();

}

在项目中需要升级运营环境 gcc升到了高版本

之后发现func()没有在main函数之前调用。也就是没有执行

低版本的gcc
3.4.6 执行时成功的

为了解决问题 需要废弃这种写法哦

struct InitGlobal
{
InitGlobal()
{
do();
}
~InitGlobal()
{
do2();
}
};

InitGlobal
init;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: