Fortran Tip集

前へ   上へ   次へ

10 include行の活用について

他のファイルの内容をソースファイルの特定の位置に含めたい場合に include行が利用可能です。 include行は下記の形式を持ちます。

include 文字定数表現

ここで通常は文字定数表現の部分にファイル名を指定します。

例)
...
...
include "sortImpl.f90"
...
...

include行で含まれる側のファイルも更にinclude行を含むことが許されています。(include行のネスト)

include行は過去のプログラムにおいてすべての共通ブロックの宣言を合わせるために多く利用されています。 現在では同等な機能をモジュールでより安全に実装することができますので、このような利用方法は推奨されません。

現在でもinclude行が役立つ場面として同じアルゴリズムを異なるいくつかの型向けに実装したいといったケースがあげられます。例えば並べ替えを行うサブルーチンの宣言部分以外をincludeすることによりコードの保守性を高めるといった利用が考えられます。

例)

! 整数型のソートルーチン
subroutine sortInt(data)
    integer data(:), tmp
    include "sortImpl.f90"
end subroutine sortInt

! 実数型のソートルーチン
subroutine sortReal(data)
    real data(:), tmp
    include "sortImpl.f90"
end subroutine sortReal

[sortImpl.f90の内容]
integer i, j
do i=1, size(data)-1
    do j=i+1, size(data)
        if ( data(i) > data(j) ) then
            tmp = data(i)
            data(i) = data(j)
            data(j) = tmp
        end if
    end do
end do



前へ   上へ   次へ
関連情報
ご案内
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks