-O2选项makefile

时间:2014-02-11 13:52:25

标签: c++ makefile options

我的main函数创建了一个ClassA对象,后者又创建了一个定期调用ClassA对象函数的线程。我的问题是,当我在没有优化的情况下调用make时,生成代码运行正常,但是通过-O2优化,我得到了段错误+++ killed by SIGSEGV +++。你知道我应该检查什么让它运行-O2选项吗?

1 个答案:

答案 0 :(得分:0)

查找您使用未定义行为的任​​何地方。优化只能保证定义的行为与未优化的代码匹配,未定义的行为很可能会发生变化。

如其他地方所述,线程和未初始化的变量是一个很好的起点。