va_list 直接函数定义: va_list是编译器内嵌的一种函数。
typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;
int dbg_print(const char *fmt, ...)
{
int len;
char buf_tmp[1024];
va_list args;
va_start(args, fmt);
printed_len = vsnprintf(buf_tmp, sizeof(buf_tmp), fmt, args);
va_end(args);
printf("%s", buf_tmp);
}
define 处理:
void dbg_print(const char *fmt, ...);
#define drv_dbg(fmt, arg...) \
do { \
dbg_print("[%-028s][%-04d] "fmt" \n", __func__, __LINE__, ## arg); \
} while(0)