日志宏定义
先说在C语言中#和##代表的意思
2、##可以把两个宏参数贴合在一起.
#define UBC_DEBUG(fmt,args...) printf("[SDK COMMON] %s[%d] -> " #fmt "n", __FUNCTION__, __LINE__, ##args);
1、#fmt是 把 参数fmt转成字符串, 即传入的fmt会以字符串的形式打印出来。
2、##args的意思是把前面打印fmt参数的str和args的打印一起打印出来
例子:
void printf_test(){ int err_num = 3; int status = 0; UBC_DEBUG("=====connect_result %d status %d====", err_num,status);//假如行号是3 }
出现在日志中的打印会如图
[SDK COMMON] printf_test[3]-> "=====connect_result 3 status 0===="
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)