需求
调试时,希望打印信息能够包含文件名,行号,函数名等
解决
编译器有提供相应的宏,可以如下使用,注意,行号是数值。
printf("error in %s %d %s\n", __FILE__, __LINE__, __FUNCTION__);
除了这些以外,还有其他的一些可用的宏,比如说:
- __DATE__ : 当前系统日期 Apr 19 2019
- __TIME__ : 当前系统时间 例如 15:39:58
- __TIMESTAMP__ : 当前时间日期 例如: printf(_TIMESTAMP_); 打印结果 Fri Apr 19 16:24:31 2019
参考
C/C++中的_FUNCTION_,__FILE__和__LINE__