inline_recursion pragma

直接呼び出しまたは相互再帰関数の呼び出しのインライン展開を制御します。

構文

解説

この pragma を使用して inline または __inline としてマークされた関数を制御するか、コンパイラが /Ob2 オプションの下で自動的に展開する関数を制御します。 この pragma を使用するには、/Ob コンパイラ オプションを 1 または 2 に設定する必要があります。 inline_recursion の既定の状態はオフです。 この pragma は、pragma が見つかった後の最初の関数呼び出しで効果があり、関数の定義には影響を与えません。

inline_recursionpragma は再帰関数の展開方法を制御します。 inline_recursion が off の場合、インライン関数が自身を直接または間接的に呼び出すと、関数は 1 回しか展開されません。 inline_recursion が on の場合、inline_depthpragma で設定された値、inline_depthpragma で定義されている再帰関数の既定値、または容量制限に達するまで、複数回展開されます。

関連項目

pragma ディレクティブと __pragma および _Pragma キーワード
inline_depth
/Ob (インライン関数の展開)