我们做项目时不同的打印信息可以帮助我们定位代码bug,也可以使代码逻辑清晰
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include < stdarg.h>
#define INFO_OUTPUT 3
#define WARNING_OUTPUT 2
#define DEBUG_OUTPUT 1
#define ERROR_OUTPUT 0
#define DEBUG_LEVEL DEBUG_OUTPUT
//需在使用以下打印宏的.c文件中定义“DEBUG_LEVEL”变量
#define INFO_PRINT(info,...) \
do{ \
if(DEBUG_LEVEL>=INFO_OUTPUT){\
printf("Info %s,%s,%d:"info"",__FILE__,__FUNCTION__,__LINE__,##__VA_ARGS__);}\
}while(0)
#define WARNING_PRINT(info,...) \
do{ \
if(DEBUG_LEVEL>=WARNING_OUTPUT){\
printf("Warning %s,%s,%d:"info"",__FILE__,__FUNCTION__,__LINE__,##__VA_ARGS__);}\
}while(0)
#define DEBUG_PRINT(info,...) \
do{ \
if(DEBUG_LEVEL>=DEBUG_OUTPUT){\
printf("Debug %s,%s,%d:"info"",__FILE__,__FUNCTION__,__LINE__,##__VA_ARGS__);}\
}while(0)
#define ERROR_PRINT(info,...) \
do{ \
if(DEBUG_LEVEL>=ERROR_OUTPUT){\
printf("Error %s,%s,%d:"info"",__FILE__,__FUNCTION__,__LINE__,##__VA_ARGS__);}\
}while(0)
int _tmain(int argc, _TCHAR* argv[])
{
DEBUG_PRINT("llllllllllllllllll\r\n");
system("Pause");
return 0;
}