Я прочитал 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));
}
, и я скомпилировал его с
g++ -Q -v -O3 main.cpp
, который печатает для меня все включенные флаги оптимизации, а не флаги используемых опций.Мне также нужно знать флаги оптимизации для конкретной функции, исключая оптимизации, используемые для библиотек.
Как я могу получить список флагов оптимизации, используемых для компиляции функции calculate
?