Export (0) Print
Expand All

/Ob (Inline Function Expansion)

Controls inline expansion of functions.

/Ob{0|1|2}

0

Disables inline expansion, which is on by default.

1

Expands only functions marked as inline, __inline, __forceinline or __inline or, in a C++ member function, defined within a class declaration.

2

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 (Minimize Size, Maximize Speed) or /Ox (Full Optimization) 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 auto_inline to exclude functions from being considered as candidates for inline expansion. Also see intrinsic.

NoteNote:

Information that is gathered from profiling test runs will override optimizations that would otherwise be in effect if you specify /Ob, /Os, or /Ot. For more information, Profile-Guided Optimizations.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.

  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

Community Additions

ADD
Show:
© 2014 Microsoft