ソースコードが複数のファイルに分割されて作成されている場合に、一つにまとめてコンパイルする方法です。
コンパイルの方法
分化された3つのファイル、a.f95, b.f95, c.f95を一つの実行ファイルにまとめる場合の例です。
コンパイルのコマンドは次の通りです。
gfortran a.f95 b.f95 c.f95
上記コマンドで実行すると、a.exeの実行ファイルが生成されます。
実行ファイルの名前を指定してコンパイルする場合は下記のコマンドで実行可能です。
gfortran a.f95 b.f95 c.f95 -o ファイル名
個別にコンパイルを行い各ファイルをリンクする方法もあります。ただ、この方法は現在のPCの処理能力を考慮すると個人的に利点がないと感じるため、ここでは紹介しません。
複数ファイルをコンパイルする場合の注意点
複数のファイルを一つの実行ファイルにコンパイルする場合の注意点は、gfortranのあとに書くファイルの順番です。
例えば下記の場合について、
- a.f95:主プログラム(モジュール1を使用)
- b.f95:モジュール1(モジュール2を使用)
- c.f95:モジュール2
この場合コンパイルの過程でb.f95はc.f95の中間ファイルが必要となり、a.f95はb.f95の中間ファイルが必要となります。
そのためコンパイルの順番は、①c.f95、②b.f95、③a.f95である必要があります。
これを先ほどのコマンドに反映すると
gfortran c.f95 b.f95 a.f95
となります。
複数のファイルを一つにまとめる場合の注意点は
ファイルの関係性に注意する。
となります。
まとめ
小規模なプログラムの場合ファイルが分割されることはないと思いますが、大規模な開発やモジュールの使いまわしなどを想定してプログラムを作成する場合、今回のように複数のファイルを一つの実行ファイルにまとめる作業が必要となると考えられます。
その際は、各ファイルに記載されているプログラムの関係性を考慮し、コンパイルを行ってください。
コメント