# inline-level, Ob

Specifies the level of inline function expansion.

## Syntax

Linux: | -inline-level=n

macOS: | -inline-level=n

Windows: | /Ob n

## Arguments

n | Is the inline function expansion level. Possible values are 0, 1, and 2.

## Default

-inline-level=2 or /Ob2 | This is the default if option O2 is specified or is in effect by default. On Windows* systems, this is also the default if option O3 is specified.
-inline-level=0 or /Ob0 | This is the default if option -O0 (Linux* and macOS) or /Od (Windows*) is specified.

## Description

This option specifies the level of inline function expansion. Inlining procedures can greatly improve the run-time performance of certain programs.

Option | Description
--- | ---
-inline-level=0 or /Ob0 | Disables inlining of user-defined functions. Note that statement functions are always inlined.
-inline-level=1 or /Ob1 | Enables inlining when an inline keyword or an inline attribute is specified. Also enables inlining according to the C++ language.
-inline-level=2 or /Ob2 | Enables inlining of any function at the compiler's discretion.

## IDE Equivalent

Visual Studio: Optimization > Inline Function Expansion

Eclipse: Optimization > Inline Function Expansion

Xcode: Optimization > Inline Function Expansion

## Alternate Options

None

Parent topic: Inlining Options