【发布时间】:2011-11-16 05:16:13
【问题描述】:
当我想禁用调试检查时,是否可以将调试宏设置为空字符串?
定义 NDEBUG 时,assert 和 BOOST_ASSERT 都设置为 ((void)0)。
为什么不这样做呢?
#ifdef NDEBUG
#define MY_DEBUG_MACRO_FUNCTION(x,y,z) ""
#elif
// define macros
#endif
【问题讨论】:
-
您为什么更愿意将其定义为空字符串文字?
-
如何使用这个调试宏?你能告诉我们它在哪里使用吗?
-
空扩展和
""扩展都存在here描述的问题。
标签: macros c-preprocessor