Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.78 KB

inline-recursion.md

File metadata and controls

27 lines (19 loc) · 1.78 KB
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
inline_recursion_CPP
vc-pragma.inline_recursion
pragma, inline_recursion
inline_recursion pragma
pragma

inline_recursion pragma

Controls the inline expansion of direct or mutually recursive function calls.

Syntax

#pragma inline_recursion( [ { on | off } ] )

Remarks

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.

See also

Pragma directives and the __pragma and _Pragma keywords
inline_depth
/Ob (Inline function expansion)