Параметр /Ob (расширение встроенных функций)
Управляет подстановкой функций.
/Ob{0|1|2}
Аргументы
0
Отключает подставляемые функции. По умолчанию подстановка всех функций происходит по решению компилятора и часто обозначается как автоподстановка.1
Разрешает подстановку только тех функций, которые помечены как inline, __inline или __forceinline, а также функций-членов C++, определенных в объявлении класса.2
Значение по умолчанию. Разрешает подстановку всех функций, помеченных как inline, __inline или __forceinline, а также любых функций, выбранных компилятором./Ob2 вступает в силу, если используется /O1, /O2 (минимизировать размер, максимизировать скорость) или /Ox (полная оптимизация).
Для этого параметра требуется включить оптимизацию с помощью /O1, /O2, /Ox или /Og.
Заметки
Параметры и ключевые слова подстановки компилятор обрабатывает как рекомендации. Подстановка какой-либо функции не гарантируется. Подстановку можно отключить, но вы не сможете выполнить принудительную подстановку определенной функции компилятором, даже если используете ключевое слово __forceinline.
Вы можете использовать директиву #pragma auto_inline, чтобы исключить из рассмотрения функции-кандидаты на подстановку. Также см. директиву #pragma intrinsic.
Примечание
Сведения, полученные из теста профилирования, запускают переопределения оптимизаций, которые в противном случае вступят в силу, если указать /Ob, /Os или /Ot.Дополнительные сведения см. в разделе Профильная оптимизация.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Работа со свойствами проектов.
Откройте меню Свойства конфигурации, C/C++ и выберите Оптимизация.
Измените свойство Подстановка встраиваемой функции.
Установка данного параметра компилятора программным способом
- См. раздел InlineFunctionExpansion.