C++中定义宏的好处

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

  _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;

猜你喜欢

转载自blog.csdn.net/zxf347085420/article/details/88638658