nAG Fortran コンパイラで引用仕様宣言を生成する

nAG Fortran コンパイラでは、外部副プログラムに対して、引用仕様宣言(モジュールまたはインクルード)を生成することができます。引用仕様宣言を用いることで、コンパイル時に引数の整合性がチェックされるため、より安全に外部副プログラムを利用することができます。

コマンド

nagfor =interfaces [option]... file...

オプションの詳細は「nAG Fortran Compiler, Release 7.2 マニュアル - 2.23 引用仕様生成」をご参照ください。

利用例(外部関数の引用仕様宣言を生成する)

以下の外部関数 funcs.f90 に対して、引用仕様宣言(モジュールおよびインクルード)を生成します。

[ funcs.f90 ]

function add(a, b)
  implicit none
  integer, intent(in) :: a, b
  integer add
  add = a + b
end function

function subtract(a, b)
  implicit none
  integer, intent(in) :: a, b
  integer subtract
  subtract = a - b
end function

① モジュールの場合

コマンドラインから、以下のコマンドを打ち込んでください。

nagfor =interfaces -otype=module -margin=0 funcs.f90

以下のように、引用仕様宣言を含むモジュールのソースファイル interfaces.f90 が出力されます。
※ メインプログラムに use してご利用ください。

[ interfaces.f90 ]

Module interfaces
  ! Interface module generated on 2015-01-20 at 14:43:19 +0900.
  Interface
    Function add(a, b)
      Implicit None
      Integer, Intent (In) :: a, b
      Integer :: add
    End Function
    Function subtract(a, b)
      Implicit None
      Integer, Intent (In) :: a, b
      Integer :: subtract
    End Function
  End Interface
End Module

② インクルードの場合

コマンドラインから、以下のコマンドを打ち込んでください。

nagfor =interfaces -otype=include -margin=0 funcs.f90

以下のように、引用仕様宣言を含むインクルードファイル interfaces.inc が出力されます。
※ メインプログラムに include してご利用ください。

[ interfaces.inc ]

! Interface INCLUDE file generated on 2015-01-20 at 14:45:46 +0900.
Interface
    Function add(a, b)
      Implicit None
      Integer, Intent (In) :: a, b
      Integer :: add
    End Function
    Function subtract(a, b)
      Implicit None
      Integer, Intent (In) :: a, b
      Integer :: subtract
    End Function
End Interface
関連情報
© 日本ニューメリカルアルゴリズムズグループ株式会社 2024
Privacy Policy  /  Trademarks