int DebugPrint(uint8_t module, uint8_t level, const char *fmt, ...)
{
int ret = -1;
va_list ap;
va_start(ap, fmt);
ret = PrintInternal(module, level, fmt, true, ap);
va_end(ap);
return ret;
}
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) //第一个可选参数地址
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) //下一个参数的值
#define va_end(ap) ( ap = (va_list)0 ) // 将指针置为无效