日志宏定义
先说在C语言中#和##代表的意思
1、使用#把宏参数变为一个字符串,
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===="