c++ - 我可以制作一个宏来执行调试或发布代码吗?

标签 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";)

最佳答案

我确定它可以工作,而且我几乎可以确定它定义可以工作。

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

我不确定我是否在预处理器宏的美妙世界中见过更丑陋的东西。

关于c++ - 我可以制作一个宏来执行调试或发布代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14791995/

相关文章:

c++ - 多线程 vector

c++ - 行外成员定义的类型说明符中可以省略 typename 吗?

java - Android NDK,保持实时 C++ 对象

C++ 宏定义包括点?

c++ - 基于预处理器的命名空间限定函数调用排除

c - 使用简单预处理器定义的内存映射地址

c++ - 在 C++ 中访问 return 语句后执行函数中的代码

c++ - 在哪里可以找到免费或开源的 C++ 库来进行 BCD 数学运算?

objective-c - 是否有扩展到当前选择器的预处理器宏?

c - 格式字符串的预处理器和替换