对象函数的宏定义

#pragma once

#ifdef _WINDOWS_
#pragma warning(disable : 4996)
#endif


//日志消息回调函数
typedef void (*TDll_Log)(
       LPVOID lpContext,     //环境变量
       LPCSTR lpszMsg,     //日志消息
       int nLevel       //日志等级
       );

class TDllLog
{
public:

 //构造函数
 TDllLog(const char *lpszFile, int nLine, int nLevel);

 //操作符"()"的重载
 void operator()(const char *pszFmt, ...) const;

 // 注册日志回调函数
 static void TDll_RCFLog(
  TDll_Log pLogFun=NULL,    //日志信息回调函数指针
  LPVOID lpContext=NULL     //环境变量 
  );

private:

 const char * m_lpszFile;  //源文件路径
 const int m_nLine;    //行号
 const int m_nLevel;    //日志等级

 static TDll_Log g_LogFun;
 static LPVOID g_lpLog;
};


//以下是用于输出日志的一组宏
#define DllLogN(n)  TDllLog(__FILE__, __LINE__, n)
#ifndef Log
#define Log DllLogN(1000)
#endif // Log

Log("Hello")   DllLogN(1000)    TDllLog(__FILE__, __LINE__, 1000)("Hello")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值