9.プリプロセッサとメイクファイル

9-9. 条件付コンパイル

条件付コンパイルの紹介です。

#if
#else
#elif
#endif

今日はこの4つの紹介です。

#if 定数式

これは、定数式の真・偽によってコンパイルするかどうかの判定をします。
真であれば以下のプログラムをコンパイルします。

#else

こちらは、#ifや#elifの定数式が偽であった時にコンパイルする内容を以下に書きます

#elif

#elifはC言語の else if の意で#ifで偽であった時次に#elifで真・偽を判定します。そこで真ならばこれ以下のプログラムをコンパイルします。

#endif

#ifの範囲の終わりを示します。

書式1:

#if 定数式
  真の時コンパイルされる内容

#endif

書式2:

#if 定数式
  真の時コンパイルされる内容

#else
  偽の時コンパイルされる内容

#endif

書式3:

#if 定数式1
   定数式1が真の時コンパイルされる内容

#elif 定数式2
   定数式2が真の時コンパイルされる内容

#else
   全て偽の時コンパイルされる内容

#endif

となります。
因みに、定数式の部分は#defineで定義された識別子を利用する事ができます。