DEFINE と UNDEFINE

一般コンパイラ指示文:DEFINE 指示文は,条件付きコンパイルの際にその存在または値を検証できるシンボル変数を作成します。UNDEFINE 指示文は定義済みシンボルを削除します。

形式

cDEC$ DEFINE name [ = val]

cDEC$ UNDEFINE name

c
次のいずれか:C (または c),!,* (「一般コンパイラ指示文の構文規則」を参照)

name
変数の名前。

val
(入力) INTEGER(4)。name に代入される値です。

規則と振る舞い

DEFINE と UNDEFINE は,IF (または IF DEFINED) 指示文で使用される変数を作成し,削除します。DEFINE 指示文で定義されたシンボルは,その指示文に対して局所的です。これらは Fortran プログラム中で宣言することはできません。

Fortran プログラムは名前付き変数を参照できないため,これらの名前が Fortran のキーワード,組込み関数,またはユーザー定義名と重複しても衝突は生じません。

シンボルが定義されているかどうかを検証するには,IF DEFINED(name) 指示文を使用します。定義済みシンボルには整数値を代入することができます。name に代入されている値を検証するには,IF 指示文を使用します。IF の検証式では,大部分の論理演算子と算術演算子を使うことができます。

定義されていないシンボルの定義を解除しようと試みると,コンパイラが警告を発します。

DEFINE および UNDEFINE 指示文は,プログラム中の任意の場所で,シンボル定義の有効/無効を切り替えるために使用することができます。

次の形式も使用できます:!MS$DEFINE name[=val] と !MS$UNDEFINE name

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

/define,IF 指示文構文,一般コンパイラ指示文

例

	!DEC$ DEFINE  testflag
	!DEC$ IF DEFINED (testflag)
	    WRITE (*,*) 'Compiling first line'
	!DEC$ ELSE
	    WRITE (*,*) 'Compiling second line'
	!DEC$ ENDIF
	!DEC$ UNDEFINE  testflag