Oracle® Developer Studio 12.5: Fortran ユーザーズガイド

印刷ビューの終了

更新: 2016 年 6 月
 
 

5.3 レガシー FORTRAN 77 でコンパイルされたルーチンでのリンク

  • f77 および f95 オブジェクトバイナリを混在させるには、-xlang=f77 オプションを指定して f95 コンパイラでリンクします。主プログラムが f77 プログラムであっても、f95 でリンクを実行します。

  • 例: f77 オブジェクトファイルで f95 主プログラムをコンパイルします。

    demo% cat m.f95
    CHARACTER*74 :: c = ’This is a test.’
       CALL echo1( c )
    END
    demo% f95 -xlang=f77 m.f95 sub77.o
    demo% a.out
     This is a test.
    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 *, ’elapsed:’, e, ’, user:’, t(1), ’, sys:’, t(2)
            END
    demo% f95 tdtime.f95
    demo% a.out
    elapsed: 0.14 , user: 0.14 , sys: 0.0E+0
    demo%

    dtime(3F) を参照してください。

5.3.1 Fortran 組み込み関数

Fortran の標準機能として、FORTRAN 77 にはない組み込み関数がサポートされています。Fortarn の非標準組み込み関数を含むすべての組み込み関数は、『Fortran ライブラリリファレンスマニュアル』に記載されています。

Fortran ライブラリ・リファレンス』に記載された組み込み関数名をプログラムの関数名として使用する場合は、組み込みではないユーザー指定のルーチンを使用するために、f95EXTERNAL 文を追加する必要があります。

Fortran ライブラリリファレンス』には、以前のリリースの f77 コンパイラによって認識されるすべての組み込み関数も一覧表示されています。f95 コンパイラは、これらの名前も組み込み関数として認識します。

-f77=intrinsics を指定してコンパイルすると、認識可能な組み込み関数は f77 コンパイラで知られるものだけに制限され、Fortran 組み込み関数は無視されます。