inline_depth
n より大きな構造 (呼び出し先) の場合関数がインラインとインライン ヒューリスティック作業の深さをそのうち指定します。
#pragma inline_depth( [n] )
解説
このプラグマはインライン関数をでマークされた インライン と __inline と自動的にインライン /Ob2 オプションで制御します。
呼び出し先およびゼロ 255 の無制限の深さがインライン展開を禁じる。n は0 の値で255。n を指定しない場合既定 (254) が使用されます。
inline_depth のプラグマは一連の関数呼び出しを配置できる回数を制御します。たとえばインライン深度が 4 の場合またはを呼び出すと 12 回以上および 12 C C を呼び出すと3 回の呼び出しはすべてインライン展開されたです。ただし最も近いインライン展開が 2 の場合は 12A と B 配置され関数呼び出しとして C のままです。
このプラグマを使用するには1 か 2. に /Ob コンパイラ オプションを設定する必要があります。このプラグマを使用して元のセットはプラグマの後の最初の関数呼び出しに適用されます。
インライン深さ配置時に拡大縮小することはできません。インライン深度が 6 で配置時にはプリプロセッサが 8 の値を持つ inline_depth のプラグマが発生した場合は深さは 6 のままです。
inline_depth のプラグマは __forceinline でマークされた関数には影響しません。
[!メモ]
再帰関数は 16 回の呼び出しの最大深度の代わりにしたインラインです。