C++中定义宏的好处

在程序中加入合理打印信息,利用预定义宏如__FILE__、__FUNCTION__、__LINE__等可定位错误出现的文件名、函数名、行号等信息,还可定义变量快捷表示,写log信息时也有类似写法,能更高效定位问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在。

  _FILE____FUNCTION__ __LINE__ 从名字可以直接看出来了,对应的:代码文件函数 行号

__DATE__,__TIME__     对应日期和时间。

 

例1:

#include   <iostream>
using   namespace   std;

void   main(void)
{
cout   <<   __FILE__   <<   endl;   //   当前文件路径
cout   <<   __LINE__   <<   endl;   //   当前文件编译行数
cout   <<   __DATE__   <<   endl;   //   编译日期
cout   <<   __TIME__   <<   endl;   //   编译时间

cout   <<   __FUNCTION__   <<   endl;   //   函数名称

}

 

我们经常可以定义一个变量来快捷表示:

#define WHERE "@["  __FILE__ <<  "] ["  << __FUNCTION__ <<  "] ["  << __LINE__ << "]"

#define WHEN  __DATE__  "-"  __TIMR__

使用的时候:

cout << WHERE << endl;

cout << WHEN  << endl;

就可以了。

 

写log信息的时候也有以下的写法,一个意思:

cout << "log in "<< __FILE__ << " : " << __FUNCTION__ <<" line: " << __LINE__ << endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值