debugout.h

来自「在WINCE 5.0 上基于Maxim 17040 电池采样测试程序」· C头文件 代码 · 共 81 行

H
81
字号
/********************************************************************
	filename: 	DebugOut.h
	created:	2007/08/22
	author:		张全宝 
	
	purpose:	输出调试信息到日志文件,程序启动时创建一个日志文件(也可打开)
				程序全局共享这个日志文件, 程序结束时关闭.
	note:		暂不支持多个日志文件同时操作
*********************************************************************/

#ifndef _DEBUGOUT_H
#define _DEBUGOUT_H

#include <windows.h>
#include <stdarg.h>

// 宏说明: LogOutMsg 此宏输出特定文件的文件行的输出日志

//#ifdef DEBUG       
	#define LogOutMsgW(szText){ \
			WCHAR *szBuffer = (WCHAR*)malloc(sizeof(WCHAR)*4096);\
			if(szBuffer)\
			{\
				char  szFile1[MAX_PATH] = {0};\
				WCHAR szFile[MAX_PATH] = {0};\
				memset((void*)szBuffer, 0, sizeof(TCHAR)*4096);\
				sprintf(szFile1, "%s", __FILE__);\
				MultiByteToWideChar(CP_ACP, 0, szFile1, strlen(szFile1), szFile, MAX_PATH*sizeof(WCHAR));\
				swprintf(szBuffer, L"File: %s, Line: %d--Info: %s", szFile, __LINE__, szText);\
				WriteLogInfo(szBuffer);\
				free(szBuffer); \
				szBuffer = NULL; \
			}\
		}
//#else
//	#define LogOutMsgW(szTex){}		
//#endif  //end for #ifdef _DEBUG

//#ifdef DEBUG       
	#define LogOutMsgA(szText){ \
			CHAR *szBuffer = (CHAR*)malloc(sizeof(CHAR)*4096);\
			if(szBuffer)\
			{\
				memset((void*)szBuffer, 0, sizeof(TCHAR)*4096);\
				sprintf(szBuffer, "File: %s, Line: %d--Info: %s", __FILE__, __LINE__, szText);\
				WriteLogInfo(szBuffer);\
				free(szBuffer); \
				szBuffer = NULL; \
			}\
		}
//#else
//	#define LogOutMsgA(szTex){}		
//#endif  //end for #ifdef _DEBUG

#if defined(UNICODE) || defined(_UNICODE)
	#define LogOutMsg LogOutMsgW
#else
	#define LogOutMsg LogOutMsgA
#endif

#ifdef __cplusplus
extern "C" {
#endif

BOOL	CreateLog(LPCTSTR szLogName, BOOL bNewAllways);

BOOL	WriteFormatLog(BOOL bTimeStamp, LPCTSTR szFormat, ...);

BOOL	WriteIntLogWithFixs(LPCTSTR szPrefix, int iDigtal, LPCTSTR szPostfix, BOOL bTimeStamp);

BOOL	WriteLogWithFixs(LPCTSTR szPrefix, LPCTSTR szLogInfo, LPCTSTR szPostfix, BOOL bTimeStamp);

BOOL	WriteLogInfo(LPCTSTR szLogInfo, BOOL bTimeStamp);

void	DeleteLog();

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?