条件に応じて、必要な部分だけ抜き出してコンパイルしたい場合、次のように書きます。
#if 条件
指定範囲
#endif
#ifdef 識別子
指定範囲
#endif
#ifndef 識別子
指定範囲
#endif
また、複数の条件を判断することもできます。
#ifdef 識別子
範囲指定A //指定範囲Aをコンパイルする
#elsif 条件B
範囲指定B //指定範囲Bをコンパイルする
#else
範囲指定C //指定範囲Cをコンパイルする
#endif
複数のプログラムファイル内でヘッダファイルを使うと、同じヘッダファイルを重複インクルードしてしまう場合があります。
これを防ぐためには次のように書きます。
#ifndef _MYHEADER_
#define _MYHEADER_
//2回目以降は既に呼ばれているので、この内容は読み込まれない
void MyFunc();
extern int x;
#endif