#ifdef コマンドは、#define で定義された識別子が
あるかどうかをチェックするコマンドです。
あとの処理は、#if と同じく、条件付きコンパイル機能となります。
#ifdef コマンドの逆の意味である #ifndef コマンドも存在します。
こちらの意味は、#define 識別子が定義されてなかったら・・・。となります。
構文
#ifdef #define識別子
何らかの処理
#elif 条件
何らかの処理
#else
何らかの処理
#endif
条件に合った部分の処理だけをコンパイル対象とします。
サンプルプログラムです。
#include <stdio.h>
#define SW // 定義を外す時は、この1行をコメントアウトする。
void main(void) {
#ifdef SW
printf("SW定義ありプログラム");
#else
printf("SW定義なしプログラム");
#endif
} |
#ifdef と #ifndef コマンドは、別の表現方法もあります。
#if defined と #if !defined です。
それぞれ、同じ意味を表します。
#if defined コマンドの省略形が、#ifdef
#if !defined コマンドの省略形が、#ifndef
となっています。
スポンサードリンク
|