f77 および f95 オブジェクトバイナリを混在させるには、-xlang=f77 オプションを指定して f95 コンパイルとリンクします。主プログラムが f77 プログラムであっても、f95 でリンクを実行します。
例: f77 オブジェクトファイルで f95 主プログラムをコンパイルします。
demo% cat m.f95 CHARACTER*74 :: c = 'テストです。' CALL echo1( c ) END demo% f95 -xlang=f77 m.f95 sub77.o demo% a.out テストです。 demo% |
f95 プログラムに対して FORTRAN 77 ライブラリおよび組み込み関数が使用できます。『Fortran ライブラリ・リファレンス』を参照してください。
例: FORTRAN 77 のライブラリからルーチンを呼び出す f95 のメインです。
demo% cat tdtime.f95 REAL e, dtime, t(2) e = dtime( t ) DO i = 1, 100000 as = as + cos(sqrt(float(i))) END DO e = dtime( t ) PRINT *, '経過:', e, ', ユーザー:', t(1), ', システム:', t(2) END demo% f95 tdtime.f95 demo% a.out 経過: 0.14 , ユーザー: 0.14 , システム: 0.0E+0 demo% |
dtime(3F) を参照してください。
Fortran 95 の標準機能として、FORTRAN 77 にはない組み込み関数がサポートされています。Fortarn 95 の非標準組み込み関数を含むすべての組み込み関数は、『Fortran ライブラリ・リファレンス』に記載されています。
『Fortran ライブラリ・リファレンス』に記載された組み込み関数名をプログラムの関数名として使用する場合は、組み込みではないユーザー指定のルーチンを使用するために、f95 の EXTERNAL 文を追加する必要があります。
『Fortran ライブラリ・リファレンス』には、以前の f77 コンパイラ が認識可能な組み込み関数も記載されています。f95 コンパイラは、これらの名前を組み込み関数と同様に認識できます。
-f77=intrinsics を指定してコンパイルすると、認識可能な組み込み関数は f77 コンパイラで知られるものだけに制限され、Fortran 95 組み込み関数は無視されます。