我可以进行优化,但不会遭受重新排序的声明吗?

时间:2015-06-20 17:00:44

标签: c gcc

我的调试CFLAGS总是-g -O0。后者主要是在调试时禁止跳转到意外行。现在越来越多的程序拒绝使用-O0进行编译,此外,-D_FORTIFY_SOURCE需要优化器。

是否可以使用-O进行编译,但在调试器中具有可预测的行为?

1 个答案:

答案 0 :(得分:1)

如果您使用的是GCC 4.8或更高版本,请尝试使用-g -Og。如the release notes中所述:

  

引入了新的通用优化级别-Og。它满足了快速编译和卓越调试体验的需求,同时提供了合理的运行时性能。总体开发经验应优于默认优化级别-O0。