опция gcc -finline-functions - PullRequest
       27

опция gcc -finline-functions

0 голосов
/ 26 сентября 2011

У меня есть вопрос, касающийся опций -finline-function

Мы проверяем, является ли реализованная нами функция успешно встроенной. Вот наблюдение

  1. Функции становятся встроенными для уровней оптимизации -01, -O2 и -O3.
  2. Функции не становятся встроенными для уровня оптимизации -O0, который ожидается.

Когда мы попытались скомпилировать с использованием -O0 и -finline-functions вместе, мы все же заметили, что функции не становятся встроенными. мы даже пытались использовать очень простой метод (оператор возврата в одну строку) и наблюдали тот же результат.

Так что кажется, что использование флага -finline-functions вместе с -O0 избыточно (это не сделает функции встроенными). Я все еще ищу, документировано ли это поведение где-то в руководстве по gcc / g ++. Пожалуйста, дайте нам знать, если у кого-то есть точное представление о том, как работает g ++, вместе укажите -finline-functions и -O0.

Привет

1 Ответ

3 голосов
/ 27 сентября 2011

Из руководства по gcc (http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html):

Большинство оптимизаций включаются только в том случае, если в командной строке установлен уровень -O.В противном случае они отключены, даже если указаны отдельные флаги оптимизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...