nAG Fortran コンパイラでモジュールの依存関係を解析する

一般的に、モジュールを使うプログラムでは、ソースファイルのコンパイルの順番に注意しなくてはなりません。モジュールを use しているソースファイルよりも先に、モジュールのソースファイルをコンパイルする必要があります。

nAG Fortran コンパイラには、モジュールの依存関係を解析する機能があります。この機能を用いて、モジュールを含むソースファイルの正しいコンパイル順序を得ることができます。

コマンド

nagfor =depend [option]... file...

オプションの詳細は「nAG Fortran Compiler, Release 7.2 マニュアル - 2.22 依存関係解析」をご参照ください。

利用例

以下のプログラム例 main.f90、a.f90、b.f90 に対して、正しいコンパイル順序を依存関係解析を用いて調べてみます。
(先に答えを言えば、メインプログラムがモジュール A に依存しており、モジュール A がモジュール B に依存しているため、正しいコンパイル順序は b.f90 → a.f90 → main.f90 となります。コンパイルの順番を間違えると、モジュールが見つからないというコンパイルエラーが発生します。)

[ main.f90 ]

program main
  use A
  implicit none
  print *, ia, ib
end program

[ a.f90 ]

module A
  use B
  implicit none
  integer, parameter :: ia = 123
end module

[ b.f90 ]

module B
  implicit none
  integer, parameter :: ib = 456
end module

コマンドラインから、以下のコマンドを打ち込んでください。

nagfor =depend -otype=blist *.f90

以下のように、コンパイルの順番が出力されます。
(上から順番にコンパイルすれば良い。)

b.f90
a.f90
main.f90
関連情報
Privacy Policy  /  Trademarks