У меня есть вопрос в одном из моих тестов, в котором меня спрашивали, какой оператор switch создает наименее эффективный машинный код.Возможные ответы: O4, O1, O2 или O3.Я не знаю, что они означают.
GCC Опции, управляющие оптимизацией
-O -O1 Оптимизация.Оптимизация компиляции занимает несколько больше времени и намного больше памяти для большой функции. -O2 Оптимизируйте еще больше.GCC выполняет почти все поддерживаемые оптимизации, которые не включают компромисс между скоростью и пространством.По сравнению с -O этот параметр увеличивает время компиляции и производительность сгенерированного кода. -O3 Оптимизировать еще больше -Os Оптимизировать по размеру. -Быстро Не соблюдать строгое соответствие стандартам.-Ofast включает все оптимизации -O3.Он также позволяет выполнять оптимизацию, которая не подходит для всех стандартных совместимых программ
-O -O1 Оптимизация.Оптимизация компиляции занимает несколько больше времени и намного больше памяти для большой функции.
-O2 Оптимизируйте еще больше.GCC выполняет почти все поддерживаемые оптимизации, которые не включают компромисс между скоростью и пространством.По сравнению с -O этот параметр увеличивает время компиляции и производительность сгенерированного кода.
-O3 Оптимизировать еще больше
-Os Оптимизировать по размеру.
-Быстро Не соблюдать строгое соответствие стандартам.-Ofast включает все оптимизации -O3.Он также позволяет выполнять оптимизацию, которая не подходит для всех стандартных совместимых программ