description | title | ms.date | f1_keywords | helpviewer_keywords | no-loc | |||||
---|---|---|---|---|---|---|---|---|---|---|
Learn more about the inline_recursion pragma directive in Microsoft C/C++ |
inline_recursion pragma |
01/22/2021 |
|
|
|
Controls the inline expansion of direct or mutually recursive function calls.
#pragma inline_recursion(
[ {on
|off
} ])
Use this pragma to control functions marked as inline
and __inline
or functions that the compiler automatically expands under the /Ob2
option. Use of this pragma requires an /Ob
compiler option setting of either 1 or 2. The default state for inline_recursion
is off. This pragma takes effect at the first function call after the pragma is seen and doesn't affect the definition of the function.
The inline_recursion
pragma controls how recursive functions are expanded. If inline_recursion
is off, and if an inline function calls itself, either directly or indirectly, the function is expanded only one time. If inline_recursion
is on, the function is expanded multiple times until it reaches the value set with the inline_depth
pragma, the default value for recursive functions that is defined by the inline_depth
pragma, or a capacity limit.
Pragma directives and the __pragma
and _Pragma
keywords
inline_depth
/Ob
(Inline function expansion)