Параметр /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
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Выберите страницу свойств>конфигурации C/C++>Optimization.
Измените свойство расширения встроенной функции.
Параметр /Ob3 недоступен в свойстве расширения встроенной функции. Чтобы задать /Ob3, выполните приведенные действия.
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
Введите /Ob3 в дополнительных параметрах.
Установка данного параметра компилятора программным способом
- См. раздел InlineFunctionExpansion.
См. также
Параметры /O (оптимизация кода)
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC