Параметр /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