複数ファイルに分かれたプログラムをコンパイルするには

使用例(Intel Fortran)

ifort [options] main.f subroutine1.f subroutine2.f または ifort -c [options] main.f ifort -c [options] subroutine1.f ifort -c [options] subroutine2.f ifort [options] main.o subroutine1.o subroutine2.o

使用例(gfortran)

gfortran [options] main.f subroutine1.f subroutine2.f または gfortran -c [options] main.f gfortran -c [options] subroutine1.f gfortran -c [options] subroutine2.f gfortran [options] main.o subroutine1.o subroutine2.o

解説

プログラムが長い場合、管理の利便性からサブルーティンを別ファイルにしておくこと がある。メインプログラムのサブルーティンプログラムをまとめてコンパイ ルするには、上記の上段のようにコンパイルすれば良い。 一方、コンパイルに時間がかかる場合もある(最適化している場合等)。メインプログ ラムだけ変更してサブルーティンプログラムに変更が無いのに上段のようにコンパイル すると、変更の無いサブルーティンプログラムまで再コンパイルすることになり効率が 悪い。そのような場合、下段のように、実行ファイルの作成を「コンパイル」と「リン ク」に分けると良い。「-c」オプションをつけると、当該プログラムだけ翻訳する。翻 訳されるとmain.oのように「.o」という拡張子のついたファイルが生成される。必要な プログラムがすべて揃ったら、「.o」ファイルをリンクさせて、実行ファイルを作る。 変更の無いプログラムの「.o」ファイルを再度作る時間が省ける。

注意