コンパイラーが指示するユーザー関数のインライン展開

ユーザーの指示がない場合、コンパイラーはアプリケーション・パフォーマンスを最適化するためにインライン展開するべき関数を見積もります。詳細は、「インライン関数の展開」を参照してください。

以下のオプションは、アプリケーションがユーザー関数をインライン展開することで利点があるが、インライン展開の範囲に関しては特定の指示が必要ない場合に役立ちます。特に記述がない限り、これらのオプションは、IA-32 アーキテクチャー、インテル® 64 アーキテクチャー、および IA-64 アーキテクチャーでサポートされています。

Linux* および Mac OS* X

Windows*

効果

-inline-level

/Ob

関数のインライン展開のレベルを指定します。指定される値に応じて、インライン展開を有効または無効にできます。デフォルトでは、このオプションはコンパイラーがインライン展開できる関数だと判断した関数についてはすべてインライン展開を有効にします。

詳細は、次のトピックを参照してください。

-ip-no-inlining

/Qip-no-inlining

次のオプションによって通常有効になるインライン展開のみを無効にします。

その他の IPO 最適化は無効になりません。

詳細は、次のトピックを参照してください。

-ip-no-pinlining

/Qip-no-pinlining

次のオプションによって通常有効になる部分的なインライン展開を無効にします。

その他の IPO 最適化は無効になりません。

詳細は、次のトピックを参照してください。

-inline-debug-info

/Qinline-debug-info

インライン展開される関数のソース情報を保持します。追加のソースコードは、インテル® デバッガーで使用することができ、インライン展開中にユーザー定義のコールスタックをトラックするのに使用できます。

このオプションを使用するには、デバッグを有効にするオプションも指定する必要があります。

  • Linux: -g

  • Mac OS X: このオプションはサポートされていません。

  • Windows: /debug

詳細は、次のトピックを参照してください。