#ifDef
マクロが定義済みであることを実行の条件とする条件コード・ブロックの開始を指定します。
説明
このマクロ・プリプロセッサ指示文は、マクロが定義済みであることを実行の条件とする条件コード・ブロックの開始を指定します。以下の形式をとります。
#ifDef macro-name
ここで、macro-name は、先頭に $$$ 文字が付かずに表示されます。同一行にて macro-name に続くものはコメントと見なされるので、解析はされません。
コードの実行は、マクロが定義済みであることを条件とします。この実行は、#else 指示文に到達するか、#endif 指示文を終了するまで続きます。
#ifDef がチェックするのは、値が何かではなく、マクロが定義済みであるかどうかだけです。したがって、値が 0 (ゼロ) であるマクロであっても、マクロは存在するので #ifDef は条件コードを実行します。
また、#ifDef はマクロが存在するかどうかのみをチェックするので、他の可能性は 1 つのみ (マクロが定義されていない場合) です。これは #else 指示文で処理します。#elseIf 指示文は、#ifDef では使用できません。
例えば、以下のコードは、マクロの存在に基づいて、簡単な 2 つのメッセージのいずれかを表示します。
#define Heads
#ifDef Heads
WRITE "The coin landed heads up.",!
#else
WRITE "The coin landed tails up.",!
#endif