/Oi(生成内部函数)
用有助于应用程序更快运行的内部函数或其他特殊形式的函数替换某些函数调用。
/Oi[-]
备注
使用内部函数的程序比较快,因为它们没有函数调用系统开销。但是,由于创建了附加代码,它们可能比较大。
有关有内部形式的函数的更多信息,请参见 intrinsic。
/Oi 仅作为对编译器的请求,用于将某些函数调用替换为内部函数;为产生更好的性能,编译器可能会调用函数(而不会将该函数调用替换为内部函数)。
x86 特定
内部浮点函数不对输入值执行任何特殊检查,因此只在有限的输入范围内有效,且与同名库例程具有不同的异常处理和边界条件。 使用真正的内部形式意味着失去 IEEE 异常处理以及失去 _matherr 和 errno 功能;后者意味着失去 ANSI 一致性。 然而,内部形式可以显著提高浮点密集型程序的速度,而且对于很多程序来说,一致性问题几乎没有任何价值。
可以使用 Za 编译器选项重写真正的内部浮点选项的生成。 在这种情况下,函数生成为库例程,后者将参数直接传递到浮点芯片,而不是将参数推送到程序堆栈上。
END x86 Specific
还可以使用 intrinsic 创建内部函数,或者使用 function (C/C++) 显式强制函数调用。
在 Visual Studio 开发环境中设置此编译器选项
打开项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页。
单击**“C/C++”**文件夹。
单击**“优化”**属性页。
修改**“启用内部函数”**属性。