【FORTRAN77】INCLUDE文がある場合の複数ファイルのコンパイル (ちょっとした罠)

FORTRAN77にて、lnclude文で参照するファイルはコンパイル時に指定してはいけない。

インクルードするファイルをa.for、インクルードされるファイルをb.forとする。

gfortran a.for b.for


上記コマンドを実行すると、b.forの方でunexpected end of fileのエラーが出る。(インクルードされるb.forにはprogram〜end programのブロックがないため)

正しくは

gfortran a.for

とするとコンパイルできる。


確かにC++とかでも.hファイルはコンパイルしないもんね。それと一緒だ。