Можно ли предотвратить оптимизацию отдельной единицы перевода или ее части?
В проекте, включающем десятки модулей, у нас есть
O1
как уровень оптимизации отладки по умолчанию.
Иногда мне нужна меньшая оптимизация (например, без оптимизации). Поэтому я использую атрибут clang
optnone
чтобы исключить одну функцию из оптимизации.
Но когда число исключаемых функций велико, это становится громоздким.
Есть ли способ исключить из оптимизации целый модуль? Например, установите прагму в верхней части модуля.
1 ответ
Решение
Clang имеет специфичный для компилятора
pragma
да, попробуйте:
#pragma clang optimize off
//region of code
#pragma clang optimize on