自定义参数的实现
void dlog(char *format, ...)
{
char buf[2048];
char out[2048]
va_list args;
va_start(args, format);
vsprintf(buf, format, args);
va_end(args);
sprintf(out, "0x4741e2a7 %s\n", buf); /* 加上标识符和换行符 */
write(fd, out); /* 输出到指定 fd */
return;
}
自动加入调用位置信息的宏定义
#define log(format, ...) dlog("%-7s %-10s %-3d "format, __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__)