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


/Oi (создание встроенных функций)

Обновлен: Ноябрь 2007

Заменяет вызов некоторых функций на встроенные или какие-либо другие формы функции, которые способствуют более быстрому выполнению приложения.

 /Oi[-]

Заметки

Программы, использующие встроенные функции, выполняются быстрее, поскольку у них нет дополнительных издержек на вызов функции, но могут быть большего размера из-за создания дополнительного кода.

Дополнительные сведения о функциях, имеющих встроенную форму, см. в описании intrinsic.

Параметр /Oi представляет собой запрос компилятору на замену вызова некоторых функций встроенными функциями. Компилятор может вызывать функцию (и не заменять вызов функции на встроенную форму), если это приведет к повышению производительности.

Специфика для платформы x86

Встроенные функции с плавающей запятой не выполняют каких-либо особых проверок входных значений. Поэтому они работают с ограниченным диапазоном входных данных и имеют обработку исключений и граничные условия, отличные от стандартных процедур библиотеки с тем же именем. При использовании встроенных форм теряется обработка исключений IEEE и функции _matherr и errno. Последнее, в свою очередь, приводит к утрате ANSI-совместимости. Однако использование встроенных форм может значительно ускорить выполнение программ с плавающей запятой. Кроме того для многих программ вопросы совместимости не имеют практического значения.

Чтобы переопределить создание фактических встроенных параметров с плавающей запятой, следует использовать /Za, /Ze (отключить расширения языка). В этом случае функции создаются как стандартные библиотечные процедуры, которые передают аргументы непосредственно в чип с плавающей запятой, а не в стек программы.

Специфика для платформы x86 — окончание

Также можно использовать intrinsic, чтобы создавать встроенные функции, или function (C/C++) для явного принудительного вызова функции.

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

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

  2. Щелкните папку C/C++.

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

  4. Измените свойство Включить встроенные функции.

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

См. также

Ссылки

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

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

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

Compiler Intrinsics