Можно ли предотвратить оптимизацию отдельной единицы перевода или ее части?

В проекте, включающем десятки модулей, у нас есть O1 как уровень оптимизации отладки по умолчанию.

Иногда мне нужна меньшая оптимизация (например, без оптимизации). Поэтому я использую атрибут clang optnone чтобы исключить одну функцию из оптимизации.

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

Есть ли способ исключить из оптимизации целый модуль? Например, установите прагму в верхней части модуля.

1 ответ

Решение

Clang имеет специфичный для компилятора pragma да, попробуйте:

#pragma clang optimize off
//region of code
#pragma clang optimize on
Другие вопросы по тегам