inline_recursion
pragma
直接呼び出しまたは相互再帰関数の呼び出しのインライン展開を制御します。
構文
#pragma inline_recursion(
[ {on
|off
} ])
解説
この pragma を使用して inline
または __inline
としてマークされた関数を制御するか、コンパイラが /Ob2
オプションの下で自動的に展開する関数を制御します。 この pragma を使用するには、/Ob
コンパイラ オプションを 1 または 2 に設定する必要があります。 inline_recursion
の既定の状態はオフです。 この pragma は、pragma が見つかった後の最初の関数呼び出しで効果があり、関数の定義には影響を与えません。
inline_recursion
pragma は再帰関数の展開方法を制御します。 inline_recursion
が off の場合、インライン関数が自身を直接または間接的に呼び出すと、関数は 1 回しか展開されません。 inline_recursion
が on の場合、inline_depth
pragma で設定された値、inline_depth
pragma で定義されている再帰関数の既定値、または容量制限に達するまで、複数回展開されます。
関連項目
Pragma ディレクティブと __pragma
キーワードと _Pragma
キーワード
inline_depth
/Ob
(インライン関数の展開)