【发布时间】:2012-02-02 00:34:14
【问题描述】:
我有一个已编译的 elf 文件,我想验证使用的优化级别。问题是如何确定对象/精灵的优化级别?
我尝试过使用“file”命令和“objdump”(大多数开关),但没有一个显示这一点。有可能吗?
【问题讨论】:
-
最近的 GCC 接受
#pragma GCC optimize,因此优化级别可能会从一个函数变为另一个。所以你的问题甚至没有确切的含义。 -
我明白了。这种优化背后的原因是什么?
-
我不明白你的问题。
#pragma GCC optimize可以更改所需的优化级别。你可以使用它,例如请求某些特定函数总是在-O2中编译,即使源文件的其余部分在-O0 -g中编译 -
你为什么要问?编译器应该“透明地”进行优化,因为它们不会影响程序的含义。
-
我只是问优化特定功能的实际用途是什么,而不是其他功能。但是我从您提供的调试示例中看到,因此在调试期间您优化了一些关键功能。