This documentation is archived and is not being maintained.

/Ob (Inline Function Expansion)


The Inline Function Expansion (/Obn) options control inline expansion of functions, where n is one of the following:

Option Description
/Ob0 Disables inline expansion, which is on by default.
/Ob1 Expands only functions marked as inline or __inline or, in a C++ member function, defined within a class declaration.
/Ob2 Expands functions marked as inline or __inline and any other function that the compiler chooses (expansion occurs at the compiler's discretion, often referred to as auto-inlining).

/Ob2 is in effect when /O1, /O2 or /Ox is used.

This option requires that you enable optimizations using /O1, /O2, /Ox, or /Og.

The compiler treats the inline expansion options and keywords as suggestions. There is no guarantee that functions will be expanded inline. You cannot force the compiler to inline a particular function.

You can also use #pragma auto_inline to exclude functions from being considered as candidates for inline expansion. Also see #pragma intrinsic.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
  2. Click the C/C++ folder.
  3. Click the Optimization property page.
  4. Modify the Inline Function Expansion property.

To set this compiler option programmatically

See InlineFunctionExpansion Property.

See Also

/O Options (Optimize Code) | Compiler Options | Setting Compiler Options