现在用ADS的很少了,我用ADS1.2测试了一下,它也支持可变参数的宏,但是没有找到可变参数与单个参数共用一个宏的办法,只好针对printf的单个参数和多个参数分别写了一个宏,有经验的大神希望能贡献一个合二为一的。下面是我的方法,在ADS1.2环境下亲测可用:
#define DEBUG_ENABLE 1 //是否使能 1:使能 0:禁止
#if DEBUG_ENABLE
#define DBG(info) printf("\r\n%s\r\n",info)
#define DBGFMT(format,...) printf("\r\n"format"\r\n",##__VA_ARGS__)
#define DBG_WHERE(info) printf("\r\n%s,line:%d,%s\r\n",__FILE__,__LINE__,info)
#define DBGFMT_WHERE(format,...) printf("\r\n%s,line:%d,"format"\r\n",__FILE__,__LINE__,##__VA_ARGS__)
#else
#define DBG(info)
#define DBGFMT(format,...)
#define DBG_WHERE(info)
#define DBGFMT_WHERE(format,...)
#endif
|