インライン展開する手続の形式を指定するには,/inline オプションを使用します。また,複数のソース・ファイルを一緒にコンパイルし,/optimize:4 などの適切な最適化レベルを指定します。
/noinline オプションと /inline オプションを省略した場合,使用された最適化レベル (/optimize オプション) が,インライン展開される手続の形式を決定します。
/inline オプションには次のものがあります。
文関数をインライン展開しますが,その他の手続はインライン展開しません。この形式のインライン展開は,/optimize:0 または /optimize:1 を指定し,/inline オプションを省略したときに行われます。
文関数をインライン展開しますが,その他の手続はインライン展開しません。この形式のインライン展開は,/inline オプションを省略したときに行われます。
文関数のインライン展開に加えて,Visual Fortran オプティマイザが,プログラムの大きさを大幅に増大させることなく実行時性能を向上させると予想した手続をインライン展開します。
文関数のインライン展開に加えて,Visual Fortran オプティマイザが,プログラムの大きさを大幅に増大させる可能性はあるにしても,実行時性能を向上させると予想した手続をインライン展開します。この形式のインライン展開は,/optimize:4 (または /optimize:5) を指定し,/inline オプションを省略したときに行われます。
正しいコードが生成されるという前提で,インライン展開が可能なすべての呼び出しをインライン展開します。次のものが含まれます。
文関数 (つねにインライン展開されます)。
Visual Fortran が,プログラムの大きさを大幅に増大させる可能性はあるにしても,実行時性能を向上させると予想した手続。
インライン展開が可能で,正しいコードが生成されるその他のすべての手続。一部の再帰ルーチンは,無限展開が行われるのを避けるためにインライン展開されません。
他の手続 (最適化レベル /optimize:4 以上でインライン展開されるもの) のインライン展開についての詳細は,「手続のインライン展開」を参照してください。
インライン展開される手続の形式を最大限に増やせば,通常は実行時性能が向上しますが,コンパイル時のメモリー使用量と実行形式ファイルの大きさが増える可能性があります。
/inline:all が特定のプログラムにとって有利かどうかを判断するには,同じプログラムを /inline:all ありとなしでコンパイルして,プログラムの実行速度の計測を行ってください。