Поделиться через


/Oy (подавление указателей фрейма)

Подавляет создание указателей фрейма в стеке вызовов.

/Oy[-]

Заметки

Этот параметр повышает скорость вызова функций, поскольку при этом не требуется создавать и удалять указатели фрейма.Также для хранения часто используемых переменных и подвыражений высвобождается один регистр (EBP на процессорах Intel 386 или более поздних версиях).

Параметр /Oy включает подавление указателей фрейма, а параметр /Oy- его отключает.Параметр доступен только в компиляторах с целевой архитектурой x86.

Если для кода нужна адресация с базой по регистру EBP, можно указать параметр /Oy– после параметра /Ox или использовать аргумент optimize вместе с аргументами "y" и off, чтобы добиться максимальной оптимизации при адресации с базой по регистру EBP.Компилятор выявляет большинство ситуаций, в которых требуется адресация с базой по регистру EBP (например, с функциями _alloca и setjmp или при обработке структурированных исключений).

Параметры /Ox (полная оптимизация) и /O1, /O2 (минимизировать размер, максимизировать скорость) подразумевают /Oy.Использование параметра /Oy– после параметра /Ox, /O1 или /O2 отменяет явно или неявно заданный параметр /Oy.

Параметр компилятора /Oy затрудняет использование отладчика, поскольку компилятор подавляет информацию об указателях фрейма.Если используется отладочный параметр компилятора (/Z7, /Zi, /ZI), то после любых отладочных параметров компилятора рекомендуется указать параметр /Oy-.

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта.Дополнительные сведения см. в разделе Открытие свойств страниц проекта.

  2. Откройте папку C/C++.

  3. Перейдите на страницу свойств Оптимизация.

  4. Измените свойство Подавление указателей фрейма.Это свойство добавляет или удаляет исключительно параметр /Oy.Если необходимо добавить параметр /Oy- щелкните страницу свойств Командная строка и измените свойство Дополнительные параметры.

Установка данного параметра компилятора программным способом

  • Дополнительные сведения см. в разделе OmitFramePointers.

См. также

Ссылки

Параметры /O (оптимизация кода)

Параметры компилятора

Настройка параметров компилятора