ユーザーの指示がない場合、コンパイラーはアプリケーション・パフォーマンスを最適化するためにインライン展開するべき関数を見積もります。詳細は、「関数のインライン展開」を参照してください。
以下のオプションは、アプリケーションがユーザー関数をインライン展開することで利点があるが、インライン展開の範囲に関しては特定の指示が必要ない場合に役立ちます。
オプション |
効果 |
---|---|
fno-builtin (Linux* および macOS*) または Oi- (Windows*) |
組込み関数のインライン展開を無効にします。組込み関数の名前による認識サポートとその最適化を無効にします。このオプションは、標準ライブラリー・ルーチンを独自のバージョンで再定義し、そのルーチンのバージョンが標準ライブラリー・ルーチンと同じ名前の場合に使用します。 デフォルトでは、標準ライブラリー関数と数学ライブラリー関数のいくつかは、関数の呼び出し時点で、コンパイラーによって自動的にインライン展開されます。通常、この処理によって計算速度が速くなります。 libirc、libm、または svml ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。 |
debuginline-debug-info |
インライン展開される呼び出しのソース位置情報に置換せずに、インライン展開された関数のソース位置情報が保持されることを示します。 |