C/C++提供了三个宏__FUNCTION__,_FILE_和_LINE_定位程序运行时的错误。程序预编译时预编译器将用所在的函数名,文件名和行号替换。当运行时错误产生后这三个宏分别能返回错误所在的函数,所在的文件名和所在的行号。
1//文件名字叫test.cpp,位于D:\test\下
#include <stdio.h>
2
3 int main(int, char**)
4 {
5 printf("This fake error is in \"%s\" on line %d.\n", __FILE__, __LINE__);
6 return 0;
7 }
//运行结果
This fake error is in "C:\temp\test.cpp" on line 4.