Fortran での手続のプロトタイピング

プログラマは,Fortran ソース・コード中でプロトタイプ (インタフェース宣言) を定義して,Fortran コンパイラに対して,外部引用にどの言語規約を使用するかを指示します。インタフェース宣言は INTERFACE 文によって開始されます。INTERFACE 文についての詳細は,「プログラム単位と手続」を参照してください。

INTERFACE 文の一般的な形式を次に示します。

INTERFACE
routine statement
[routine ATTIRUBUTE options]
[argument ATTRIBUTE options]
formal argument declarations
END routine name
END INTERFACE

routine statement には,FUNCTION または SUBROUTINE を定義します。どちらであるかは,それぞれ値が返されるか返されないかに依存します。省略可能な routine ATTIRUBUTE options (C や STDCALL など) は,プロトタイプ文に含まれるルーチンの呼び出し,名付け,および引数渡し規約を決定します。省略可能な argument ATTRIBUTE options (VALUE や REFERENCE など) は,個々の引数に付加されたプロパティです。formal argument declarations は,Fortran データ型宣言です。同じ INTERFACE ブロックで複数の手続を指定することができます。

たとえば,次のプロトタイプを持つ C 関数を呼び出すとします。

	extern void My_Proc (int i);

この関数の Fortran での呼び出しは,ia32 システムでは次の INTERFACE 宣言で宣言されます。

	INTERFACE
	   SUBROUTINE my_Proc (I)
	    !DEC$ ATTRIBUTES C, ALIAS :'_My_Proc' :: my_Proc
	    INTEGER I
	   END SUBROUTINE my_Proc
	END INTERFACE

次の点に注意してください。