0

config.hで定義されたプリプロセッサ構成オプションがたくさんあります。私はそれらを次のように使用します:

#if CONFIG_OPTION1
    /* do some stuff */
#endif

config.hには、次の定義が含まれています。

#define CONFIG_OPTION1 _DEBUG
#define CONFIG_OPTION2 _DEBUG || (NDEBUG && _WIN64)
...

上記は機能しません。構成(デバッグ、リリースなど)やその他の定義に基づいて、これらの構成オプションをオンまたはオフにしたい。私がそうすると、それも機能しません:

#define CONFIG_OPTION1 defined(_DEBUG) || defined(NDEBUG)

#if CONFIG_OPTION1条件が満たされているように見えても、私は決して中に入ることはありません。私が書くとき#if defined(_DEBUG)、それはうまくいきます#ifが、条件が失敗するのでマクロを使用します。どうすればこれを修正できますか?

4

1 に答える 1

2

さて、あなたがすでに気づいたように、あなたはそのようにそれをすることはできません。代わりに次のようなことをしてください:

#if _DEBUG || (NDEBUG && _WIN64)
#   define CONFIG_OPTION2 1
#endif
于 2012-01-04T21:03:08.303 に答える