我可以创建一个宏来执行调试或释放代码吗?

时间:2013-02-09 21:51:07

标签: c++ c-preprocessor

例如,如果我有这段代码:

#ifdef _DEBUG
    mPluginsCfg = "plugins_d.cfg";
#else
    mPluginsCfg = "plugins.cfg";
#endif

我可以定义一个看起来像

的宏
#define DEBUG_RELEASE(debug_code, release_code)

然后像这样使用它;

DEBUG_RELEASE(mPluginsCfg = "plugins_d.cfg";,mPluginsCfg = "plugins.cfg";)

1 个答案:

答案 0 :(得分:1)

我确信它有效,而且我几乎确定已定义才能正常工作。

#ifdef _DEBUG
#define DEBUG_RELEASE(d,r) d
#else
#define DEBUG_RELEASE(d,r) r
#endif

我不确定我是否在预处理宏的精彩世界中看到了任何丑陋的东西。