作业帮 > 综合 > 作业

#define dPrintf(arg...) //printf_P(arg) #define dPrintf(arg.

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/29 13:00:56
#define dPrintf(arg...) //printf_P(arg) #define dPrintf(arg...)
#ifdef GCB_DEBUG
#define dPrintf(arg...) //printf_P(arg)
#define mmprintf(arg...) //printf_P(arg)
#define ptzprintf(arg...) //printf_P(arg)
#define vsprintf(arg...) //printf_P(arg)
#define voprintf(arg...) //printf_P(arg)
#define nctprintf(arg...) //printf_P(arg)
#define pmprintf(arg...) //printf_P(arg)
#define ssprintf(arg...) //printf_P(arg)
#define smprintf(arg...) //printf_P(arg)
#define errprintf(arg...) //do{printf_P(PSTR("\n[F:%s L:%d]"),__FILE__,__LINE__);printf_P(arg);}while(0)
#define memprintf(arg...) //printf_P(arg)
#define Printf(arg...) //printf(arg)
#else
#define dPrintf(arg...)
#define mmprintf(arg...)
#define ptzprintf(arg...)
#define vsprintf(arg...)
#define viprintf(arg...)
#define nctprintf(arg...)
#define voprintf(arg...)
#define pmprintf(arg...)
#define ssprintf(arg...)
#define memprintf(arg...)
#define smprintf(arg...)
#define Printf
#endif
#define dPrintf(arg...) //printf_P(arg) #define dPrintf(arg.
首先#ifdef GCB_DEBUG下的每一行,后面的“//”都应该是没有的,不应该被注释掉
意思是如果def GCB_DEBUG,则宏定义dPrintf(arg...)为后面的printf_P(arg);否则,定义为空.
此为调试之用
arg...意思是可变参数
不过根据标准,参数列表前面应该有一个不是可变参数的参数