可变参数宏

      在我们的开发测试阶段不可避免的要进行打印调试,在生成release的版时又需要去除打印信息,
我们可以采用条件编译的方式解决这个问题,具体方法如下:

#ifndef DEBUG_2012_06_06
#define DEBUG_2012_06_06
#endif

#ifdef DEBUG_2012_06_06
#define myPrint(str, ...) {\
      printf(str, ##__VA_ARGS__);\
}
#else
#define myPrint(str, ...)
#endif

这样我们在打印输出的地方使用我们自己的myPrint宏就像使用printf函数一样使用,

在生成release版是只要注释#define DEBUG_2012_06_06就能去除我们所有的打印信息,妙哉!

原文地址:https://www.cnblogs.com/hackvilin/p/3251955.html