条件つきテキスト取り込み |
条件つきテキスト取り込み機能を使うと,ある条件が成立するときだけ,ソースプログラムの一部を
有効にしたり無効にしたりすることができます(Fig. 0.35)。
条件式の中では,C言語の関係演算子・等号演算子・不等号演算子・論理演算子などを使用することができます。
また,条件式の中では
defined( マクロ名 )
としてマクロ名が定義されているかを検査できます。これは,マクロ名が定義されている場合は1を,未定義なら0を返します。また,
#if defined( マクロ名 )
と
#if ! defined( マクロ名 )
の短縮形としてそれぞれ
#ifdef マクロ名
#indef マクロ名
という形式を使用することも可能です。
条件つきテキスト取り込みによって,
#if 0
… コメントにしたい部分 …
#endif
ソースプログラムの広範囲の部分をコメントにできます。
また,Fig. 0.35の例1のようにデバッグ用のコードを一時的に入れることもできますし,Fig. 0.35の例2のようにANSI規格にそった
書き方とそうでない書き方を並記することもできます(__STDC__はANSI規格にそったCコンパイラで定義されているマクロです)。
同様に,オペレーティングシステムに依存する部分を書き分けることにも利用できます。