/Oi(生成内部函数)

将某些函数调用替换为内部函数或有助于提高应用程序运行速度的其他特殊形式函数。

语法

/Oi[-]

备注

使用内部函数的程序的运行速度比较快,因为它们没有函数调用的开销,但是,由于创建了附加代码,它们可能比较大。

有关哪些函数具有内部窗体的详细信息,请参阅内部函数。

/Oi 只是对编译器的请求,用于将某些函数调用替换为内部函数;如果函数性能更好,编译器可以调用函数(但不能将函数调用替换为内部函数)。

特定于 x86

内部浮点函数不对输入值执行任何特殊检查,因此在受限输入范围内工作,并且与具有相同名称的库例程具有不同的异常处理和边界条件。 使用真正的内部窗体意味着 IEEE 异常处理丢失,并且 _matherrerrno 功能丢失;后者意味着 ANSI 一致性丢失。 然而,内部窗体可以大大加快浮点密集型程序的速度,对于许多程序,一致性问题几乎没有实际价值。

你可以使用 Za 编译器选项来重写真正的内部浮点选项的生成。 在此情况下,函数将生成为库例程,后者将参数直接传递到浮点芯片,而不是将参数推送到程序堆栈。

结束 x86 专用

还可以使用内部函数来创建内部函数,或使用函数 (C/C++) 来显式强制调用函数。

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“C/C++”>“优化”属性页面

  3. 修改“启用内部函数”属性。

以编程方式设置此编译器选项

另请参阅

/O 选项(优化代码)
MSVC 编译器选项
MSVC 编译器命令行语法
编译器内部函数