/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 内部 指令。

备注

如果指定 /Ob/Os/Ot,则通过分析测试运行收集的信息会重写本应生效的优化。有关详细信息,请参阅按配置文件优化

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

  1. 打开项目的**“属性页”**对话框。 有关详细信息,请参阅使用项目属性

  2. 依次展开**“配置属性”“C/C++”,然后选择“优化”**。

  3. 修改**“内联函数扩展”**属性。

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

请参见

参考

/O 选项(优化代码)

编译器选项

设置编译器选项