1、背景:
- 当嵌入式系统中使用了串口通讯,为了方便调试,我们需要添加一些调试信息,为了快速打开和屏蔽调试信息,而不影响串口正常通讯,我们需要一个宏开关来控制
2、printf宏定义方法:
#define printf_debug(format, ...) printf (format, ##__VA_ARGS__)
- 说明:C99规范编译器开始支持不定参数的宏定义,(’ ## '的意思是,如果可变参数被忽略或为空,将使预处理器( preprocessor )去除掉它前面的那个逗号)
3、宏开关的使用方法
//#define ROBOT_DEBUG
#ifdef ROBOT_DEBUG
#define printf_debug(format, ...) printf (format, ##__VA_ARGS__)
#else
#define printf_debug(format, ...)
#endif