/Ob(内联函数展开)

该选项控制函数的内联展开。

/Ob{0|1|2}

实参

  • 0
    禁用内联展开(默认情况下是打开的)。

  • 1
    只展开标记为 inline, __inline, __forceinline 或 __inline 的函数,或在类声明内定义的 C++ 成员函数中的函数。

  • 2
    展开标记为 inline 或 __inline 的函数和编译器选择的任何其他函数(由编译器自行进行展开,通常称作自动内联)。

    在使用 /O1、/O2(最小化大小、最大化速度)/Ox(完全优化) 时,/Ob2 有效。

    此选项要求使用 /O1/O2/Ox/Og 来启用优化。

备注

编译器将内联展开选项和关键字视为建议。 不保证函数将内联展开。 无法强制编译器内联特定函数。

还可以使用 auto_inline 将某些函数排除在视为内联展开候选函数的函数之外。 另外,请参见 intrinsic

提示

如果您指定 /Ob/Os/Ot,则从分析测试运行收集的信息会重写本可以生效的优化。 有关更多信息,请参见按配置文件优化

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

  1. 打开该项目的**“属性页”**对话框。 有关详细信息,请参见如何:打开项目属性页

  2. 单击**“C/C++”**文件夹。

  3. 单击**“优化”**属性页。

  4. 修改**“内联函数展开”**属性。

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

请参见

参考

/O 选项(优化代码)

编译器选项

设置编译器选项