前へ 上へ 次へ
前へ 上へ 次へ
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
前へ 上へ 次へ
