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