今天试了下goole的glog开源日志类,发现glog在记录日志时可以将记录时的语句所在的文件和行号记录下来,对此表示很感兴趣,于是上网搜索是如何做到的。
发现在C语言中:
1、__FILE__ 用于指示本行代码所在源文件的文件名;
2、__LINE__用于指示本行代码所在源文件中的位置(行数);
3、__func__用于指示本行代码所在函数(函数名);
4、#line用于重新设定下一行代码的行数;
5、__DATE__:当前编译日期
6、__TIME__:当前编译时间
注:"__FILE__"、"__LINE__"、"__func__"、"#line"均大小写敏感
使用方法:直接cout即可
cout<<__FILE__<<endl;
需要注意的是,__是两个杠。
另在百度过程中查找到了另外一个宏
#define debug(...) printf(__VA_ARGS__)
意思是把...的内容全部传送给__VA_ARGS__。