VA_ARGS
可变参数宏 __VA_ARGS__是一个宏,表示一个或多个参数,类似函数的可变参数中的省略号;
#define my_printf(format,...) printf(format "\r\n",##__VA_ARGS__)
my_printf("%s: %d\r\n", "debug", 100);
不带##,__VA_ARGS__会替换为与省略号匹配的所有参数,同时会将省略号前面的一个逗号带上。
my_printf("100");
变成:
printf(,"100");
编译器就会报错,## 可以提示编译器,把多余的逗号删除。
format及#
前面加一个#代表的这里的参数是字符串,format代表的格式参数。
#define MY_PRINTF(format, ...)

本文介绍了可变参数宏__VA_ARGS__的使用方法及其在格式化输出中的作用,并详细展示了如何重写fputc函数以实现通过USART进行串口通信。

1268

被折叠的 条评论
为什么被折叠?



