条件に応じたコンパイル指示

C

条件に応じて、必要な部分だけ抜き出してコンパイルしたい場合、次のように書きます。

#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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です