#pragma once #include <stdio.h> #define WIDEN2(x) L ## x #define WIDEN(x) WIDEN2(x) #define __WFILE__ WIDEN(__FILE__) //#define SAVE_LOG_FILE #ifdef DEBUG #ifdef SAVE_LOG_FILE #define DbgPrint(...)/ {/ FILE* pFile = _wfopen(LOG_FILE, L"a");/ if (pFile != NULL)/ {/ fwprintf(pFile,_T("FILE:%s(Line %d) "),__WFILE__,__LINE__);/ fwprintf(pFile,##__VA_ARGS__);/ fflush(pFile);/ fclose(pFile);/ pFile = NULL;/ }/ } #else #define DbgPrint(...)/ {/ wprintf(_T("FILE:%s(Line %d) "),__WFILE__,__LINE__);/ wprintf(##__VA_ARGS__);/ } #endif #else #ifdef SAVE_LOG_FILE #define DbgPrint(...)/ {/ FILE* pFile = _wfopen(LOG_FILE, L"a");/ if (pFile != NULL)/ {/ fwprintf(pFile,_T("FILE:%s(Line %d) "),__WFILE__,__LINE__);/ fwprintf(pFile,##__VA_ARGS__);/ fflush(pFile);/ fclose(pFile);/ pFile = NULL;/ }/ } #else #if 1 // temporarily modified, we will set it as 1 when we finally release the product #define DbgPrint(...) ((void)0) #else #define DbgPrint(...)/ {/ wprintf(_T("FILE:%s(Line %d) "),__WFILE__,__LINE__);/ wprintf(##__VA_ARGS__);/ } #endif #endif #endif
控制输出信息的宏
最新推荐文章于 2023-12-11 19:29:09 发布
本文介绍了一种使用宏定义进行文件名和行号记录的方法,并实现了不同编译配置下的调试打印功能。通过预处理宏,可以方便地在代码中加入包含文件路径及行号信息的日志输出,适用于调试阶段查看执行位置。
1742

被折叠的 条评论
为什么被折叠?



