デベロッパーが指示するユーザー関数のインライン展開

コンパイラーは、コンパイラーが指示するユーザー関数のインライン展開をサポートするオプションに加えて、インライン関数展開の条件をより正確に指示できるオプションとプラグマを提供します。

コンパイラーは、中間言語ユニットの絶対値でルーチンの相対的なサイズを測定します。この値は、生成される命令の数とほぼ等しくなります。コンパイラーは、中間言語ユニットの評価を使用して、ルーチンと関数を小さな関数、中くらいの関数、大きな関数に分類します。次に、コンパイラーは、この評価を使用して関数をいつインライン展開するか決定します。インライン展開の最低条件が満たされ、他がすべて等しい場合、コンパイラーは小さな関数をインライン展開し、大きな関数はインライン展開しません。

通常、コンパイラーは、次の項目に基づいてインライン展開用の関数を判断します。

インライン展開の上限に達すると、コンパイラーは最高レベルの警告を発行します。警告では、達した上限、および完全なレポートを取得するためのオプションやプラグマが示されます。

レポートには、問題の解決に役立つコマンドライン・オプションやプラグマが記載されています。