機能検査マクロ (feature test macro) により、プログラマは プログラムがコンパイルされる際にシステムのヘッダファイルにより 公開される定義を制御することができる。 この機能を使うと、非標準の定義が公開されないようにでき、 移植性のあるアプリケーションを作成するのに役立つ。 他のマクロを使うと、デフォルトでは公開されない非標準の定義を 公開することができる。 以下で説明する機能検査マクロのそれぞれの正確な影響を確認するには、 ヘッダファイル <features.h>を調べればよい。 機能検査マクロを機能させるには、 「あらゆるヘッダファイルをインクルードする前に」 機能検査マクロを定義しなければならない。 これを実現するには、 コンパイルコマンドで指定する方法 (cc -DMACRO=value)と、ソースコードであらゆるヘッダをインクルードする前に 必要なマクロを定義す