如何告诉 gcc 显示您使用的优化标志列表

atr*_*rak 5 c c++ optimization gcc g++

我已阅读优化选项的gcc 文档。他们没有例子。

一种乏味的方法是使用godbolt并尝试很多选项,看看哪个选项适用于特定的优化标志。

我编写了以下简单代码:

#include <cmath>

double calculate(double x)
{
    int y=x+sin(x);
    return exp(x)+exp(-x);
}

int main(int argc,char *argv[])
{
    return ceil(calculate(argc));
}
Run Code Online (Sandbox Code Playgroud)

我用它编译了

g++ -Q -v -O3 main.cpp
Run Code Online (Sandbox Code Playgroud)

它为我打印所有启用的优化标志,而不是使用的选项标志。我还需要知道特定函数的优化标志,不包括用于库的优化。

我怎样才能获得用于calculate函数编译的优化标志列表?

小智 1

现代版本的 GCC 具有-fverbose-asm转储汇编文件中注释中启用的优化选项的选项,您可以通过使用-S或进行编译来获得该选项-save-temps