У меня есть вопрос, касающийся опций -finline-function
Мы проверяем, является ли реализованная нами функция успешно встроенной.
Вот наблюдение
- Функции становятся встроенными для уровней оптимизации -01, -O2 и -O3.
- Функции не становятся встроенными для уровня оптимизации -O0, который ожидается.
Когда мы попытались скомпилировать с использованием -O0 и -finline-functions вместе, мы все же заметили, что функции не становятся встроенными. мы даже пытались использовать очень простой метод (оператор возврата в одну строку) и наблюдали тот же результат.
Так что кажется, что использование флага -finline-functions вместе с -O0 избыточно (это не сделает функции встроенными). Я все еще ищу, документировано ли это поведение где-то в руководстве по gcc / g ++. Пожалуйста, дайте нам знать, если у кого-то есть точное представление о том, как работает g ++, вместе укажите -finline-functions и -O0.
Привет