構文:
/inline[:keyword],/noinline,または /Ob2
/inline または /Ob2 オプションを使うと,ユーザーはインライン展開をある程度制御することができます。手続をインライン展開することで,一部のアプリケーションの実行時性能が大幅に向上することがあります。
手続のインライン展開 (または手続間の最適化) を要求するには,可能な限りすべてのソース・ファイルを 1 つのオブジェクト・ファイルにコンパイルするようにしてください。きわめて大きなアプリケーションでは,互いに関連するソース・ファイルをできるだけまとめてコンパイルしてください。
リンクなしでソースのコンパイルを行うときには (「/[no]compile_only」を参照),/object[:filename] オプションも指定して,1 つのオブジェクト・ファイルを作成するようにします。
ビジュアル開発環境では,「Fortran」タブの「Optimizations」カテゴリの「Inlining type」を指定します。
次に /inline のオプションを示します。
/inline:none または /noinline | /inline:manual |
/inline:size | /inline:speed または /Ob2 |
inline:all |
文関数を除いて,手続のインライン展開を行いません。この形式のインライン展開は,/optimize:0 または /Od を指定したときに行われます。
文関数を除いて,手続のインライン展開を行いません。この形式のインライン展開は,/optimize:0 または /Od を指定したときに行われます。
プログラムの大きさを大幅に増やすことなく,実行時性能を向上させるような手続をインライン展開します。これには,/inline:manual を指定したときにインライン展開される形式の手続が含まれます。この形式のインライン展開は,/optimize:1 以上を指定したときに行われます。
プログラムの大きさを大幅に増やすことになっても,実行時性能を向上させるような手続をインライン展開します。この形式のインライン展開は,/optimize:1 以上を指定したときに行われます。/[no]inline または /Ob2 を省略した場合,/optimize:4,/optimize:5,/Ox,または /Oxp を指定すると,/inline:speed が自動的に使用されます。
正しいコードが得られる限り,インライン展開が可能なすべての呼び出しをインライン展開します。ただし,再帰ルーチンが,コンパイル時に無限ループを生じさせることはありません。この形式のインライン展開は,/optimize:1 以上を指定したときに行われます。これには,他の /inline オプションを指定したときにインライン展開される形式の手続が含まれます。
/inline:all を使用すると,プログラムの大きさが大幅に増大し,コンパイルの速度が低下することがあります。
このオプションについての詳細は,「手続のインライン展開の制御」を参照してください。