输出函数
void debug_printf(const char *pstr, ...)
{
va_list arglist; // 申请参数列表变量
va_start(arglist, pstr);// 申明最后一个传递给函数的已知的固定参数
vsnprintf((char * )printfBuf, PRINTF_BUF_SIZE, (char * )pstr, arglist);
va_end(arglist);
printf("%s", printfBuf);
}
__MODULE__:显示文件名
__FUNCTION__:显示函数名
__DATE__ | 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。 |
__TIME__ | 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。 |
__FILE__ | 这会包含当前文件名,一个字符串常量。 |
__LINE__ | 这会包含当前行号,一个十进制常量。 |
__STDC__ | 当编译器以 ANSI 标准编译时,则定义为 1 |
#define DEBUG_TRACE() debug_printf("%s(%d)%s()\r\n", __MODULE__, __LINE__, __FUNCTION__)
#define DEBUG_WARNING(fmt, arg...) do {debug_printf("\r\n%s(%d)WARNING:"fmt, __MODULE__, __LINE__,##arg);}while(0)
#define DEBUG_ERROR(fmt, arg...) do {debug_printf("\r\n%s(%d)ERROR:"fmt, __MODULE__, __LINE__,##arg);}while(0)
#define DEBUG_MSG(fmt, arg...) debug_printf("%s(%d):"fmt, __MODULE__, __LINE__, ##arg);
#define DEBUG_PRINTF(fmt, arg...) debug_printf(fmt, ##arg)