C语言自定义调试信息,预定义宏的运用

1、__VA_ARGS__ 是一个可变参数的宏,在宏前边加上##的作用是,当可变参数的个数为0时,这里的##会把前边多余的“,”去掉,否则会编译出错

2、__FILE__ 宏在预编译时会替换成当前的原文件名

3、__LINE__ 宏在预编译时会替换成当前行号

4、__func__ 宏在预编译时会替换成当前函数名


for example:

#define dprintf(fmt, args...)						\
do {									\
	log_write(LOG_DEBUG, __func__, __LINE__, fmt, ##args);		\
} while (0)


你可能感兴趣的:(C语言,语言,c,file)