开门见山,如下便是今天想随笔记录的可变参数宏定义
#define xxx(fmt...) yyy(fmt)
其中的…就表示可传入以逗号隔开的多参数。
举例,
实际项目开发中,需要实现log打印的level控制,如下例子,只有on为真时,才会打印log,否则为空,即不打印log。
#define LOG(on, Format...) \
if(on){ \
printf(Format) \
}else{ \
//Do nothing \
}
如有函数functionA() call到LOG函数,如下:

本文介绍了C语言中使用#define宏定义可变参数的方法,以实现如日志打印级别的控制。通过预编译时的宏展开,可以灵活地控制传入不同数量的参数,例如在functionA()中调用LOG函数,根据条件决定是否打印日志。文章通过具体例子展示了如何传递和解析不同数量的参数。
最低0.47元/天 解锁文章
214

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



