【发布时间】:2012-02-16 08:40:13
【问题描述】:
这里我有一个可执行文件,但不知道它的构建环境,假设使用的是 gcc/g++。 有没有办法找出编译期间使用的优化标志(如 O0、O2、...)?
欢迎所有方法,无论是通过分析二进制文件还是通过 gdb 进行一些调试测试(如果我们假设 -g 标志在编译期间可用)。
【问题讨论】:
-
这个问题可能会有所帮助:stackoverflow.com/questions/189350/…
-
我会对这样一个请求的原因非常感兴趣。值得注意的是,您应该知道优化可以单独打开和关闭,并且
O级别只是为了方便起见的组。 -
该问题请特别参阅this informative answer。这是你不能可靠地做到这一点的确凿证据。
-
另外,由于函数属性,gcc 允许您在每个函数级别(或更粗略的范围,使用#pragma)打开和关闭优化。
标签: c++ c optimization gcc g++