Почему не всегда использовать оптимизацию компилятора?

Один из вопросов, который я задал некоторое время назад , имел неопределенное поведение, поэтому оптимизация компилятора фактически приводила к сбою программы.

Но если в вашем коде нет неопределенного поведения, то есть ли причина не использовать оптимизацию компилятора? Я понимаю, что иногда для целей отладки может не понадобиться оптимизированный код (пожалуйста, поправьте меня, если я ошибаюсь). Кроме этого, в производственном коде, почему бы всегда не использовать оптимизацию компилятора?

Кроме того, есть ли причина использовать, скажем, -O вместо -O2 или -O3 ?

33
задан Community 23 May 2017 в 12:32
поделиться