获取程序中的当前优化级别
Get current optimisation level inside a program
是否可以获得当前的优化级别?
我想检查是否将正确的标志传递给编译器。
您可以检查预定义的宏__OPTIMIZE__
。例如:
bool isOptimized()
{
#ifdef __OPTIMIZE__
return true;
#else
return false;
#endif
}
还有许多其他宏指示其他类型的优化,例如,有许多标志指示启用了特定的指令集优化,如__FSGSBASE__
、__SSE3__
、__k8
和__corei7_avx__
。
它并没有真正达到优化级别,但我所做的是:
- 找到一个具有不同编译器选项的不同大小的程序
- 运行并检查大小是否已更改
感谢长颈鹿船长
相关文章:
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- 如何优化以下程序?
- O2优化水平中断程序工作
- 如何优化C++键值程序以获得更快的运行时间
- 为什么警告阻止我们编写优化程序
- 多线程程序卡在优化模式下,但在 -O0 中正常运行
- 优化形状跟踪程序 - C++ OpenCV
- 如何在卷积程序的 c++ 中优化嵌套循环
- 如何优化此程序
- 未经GCC优化而编译的简单C++程序不会产生预期的结果
- Arm GNU编译器:通过多余的强制转换优化的三进制生成的程序集
- 对 constexpr 与内联函数的调用编译为不同的程序集,并禁用优化
- 使用优化编译时的多线程程序块
- C++井字游戏程序优化
- 优化程序C++
- 优化程序与专用于 what 命令的字符串之间的交互
- 如何最大限度地使用数字0来优化程序
- 如何优化C++程序以运行 MPI
- 优化C++程序
- 基于成员数生成的未优化程序集中的C++差异