インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
コンパイラーがインライン展開を行えるところは、どこでも関数をインライン展開します。
Linux* および macOS*: | -inline-forceinline |
Windows*: | /Qinline-forceinline |
オフ |
コンパイラーは、ルーチンのインライン展開時にデフォルトのヒューリスティックを使用します。 |
このオプションは、コンパイラーがインライン展開を行えるところは、どこでも関数をインライン展開します。
このオプションを指定しないと、コンパイラーは、inline キーワードが指定された関数を単にインライン展開が推奨される関数として扱います。このオプションを指定すると、__forceinline キーワードが指定されているかのように扱います。
定義がクラスの宣言に含まれる C++ メンバー関数は、デフォルトでインライン関数とみなされるため、このオプションを使用するとこれらのメンバー関数も "forceinline" 関数になります。
インライン展開に関する重要な制限についてコンパイラー値を参照するには、[q または Q]opt-report オプションを指定してください。
このオプションを使用してインライン展開の意味を "forceinline" に変更すると、コンパイラーにより多くのインライン展開が行われ、メモリーが不足し、"out of memory" メッセージが表示されて終了することがあります。
なし