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


Параметр /Ob (расширение встраиваемых функций)

Управляет подстановкой функций. По умолчанию при оптимизации расширение происходит по усмотрению компилятора на всех функциях, часто называемых автоматической встраиванием.

Синтаксис

/Ob{0|1|2|3}

/Ob{0|1|2}

Аргументы

0
Значение по умолчанию в /Od. Отключает подставляемые функции.

1
Разрешает расширение только функций, помеченных как встроенные, __inline или __forceinline, либо в функции-члене C++, определенной в объявлении класса.

2
Значение по умолчанию в /O1 и /O2. Позволяет компилятору развернуть любую функцию, не помеченную явным образом без встраивание.

3
Этот параметр указывает более агрессивное встраивание, чем /Ob2, но имеет те же ограничения. Параметр /Ob3 доступен начиная с Visual Studio 2019.

Замечания

Параметры и ключевые слова подстановки компилятор обрабатывает как рекомендации. Нет никакой гарантии, что любая функция будет развернута встраиваемой. Можно отключить встроенные расширения, но вы не можете принудительно включить в нее определенную функцию, даже если используется ключевое __forceinline слово.

Чтобы исключить функции из рассмотрения в качестве кандидатов на встроенное расширение, можно использовать __declspec(noinline) или регион, помеченный директивами #pragma auto_inline(off) и #pragma auto_inline(on). Сведения о другом способе предоставления встраивание подсказок компилятору см . в #pragma встроенной директиве.

Примечание.

Данные, собранные из тестового профилирования, переопределяют оптимизации, которые в противном случае будут применяться, так как вы указали /Ob, /Os или /Ot. Дополнительные сведения см. в статье Профильные оптимизации.

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

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Выберите страницу свойств>конфигурации C/C++>Optimization.

  3. Измените свойство расширения встроенной функции.

Параметр /Ob3 недоступен в свойстве расширения встроенной функции. Чтобы задать /Ob3, выполните приведенные действия.

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.

  3. Введите /Ob3 в дополнительных параметрах.

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

См. также

Параметры /O (оптимизация кода)
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC