获取程序内的当前优化级别

时间:2015-04-05 20:05:47

标签: c++ g++

是否可以获得当前的优化级别?

我希望检查是否将正确的标志传递给编译器。

2 个答案:

答案 0 :(得分:1)

您可以检查预定义的宏__OPTIMIZE__。例如:

bool isOptimized()
{
#ifdef __OPTIMIZE__
    return true;
#else
    return false;
#endif
}

有许多其他宏指示其他类型的优化,例如,有许多标志指示启用了特定的指令集优化,例如__FSGSBASE____SSE3____k8,和__corei7_avx__

答案 1 :(得分:0)

它没有真正获得优化级别,但我所做的是:

  • 找到一个具有不同大小和不同编译器选项的程序
  • 运行并检查尺寸是否已更改。

感谢长颈鹿队长