本文介绍va_list, va_start, va_end三个宏实现,用于打印带等级的debug信息,
windows 下实现。Linux下,可以自己实现或者参考Linux实现函数。
主要代码:
ULONG DebugLevel = 1;
//可以定义其他level等级,比如ErrorLevel = 2, WarningLevel = 3...
void DebugPrint( USHORT Level, PCHAR DebugMessage, ... )
{
va_list args;
va_start(args, DebugMessage);
if (Level<= DebugLevel) {
char buffer[128];
(VOID) vsprintf(buffer, DebugMessage, args);
printf( "%s", buffer );
}
va_end(args);
}
va_list:
在window编译器中,为typedef