C/C++编译器的预处理器定义了一些名字:__FILE__,__LINE__,__FUNCTION__,__DATE__,__TIME__等。
顾名思义:
__FILE__:表示当前文件的文件名(含绝对路径)。
__LINE__:表示当前行号。
__FUNCTION:表示当前函数名字(不包括返回值和实参,仅仅是函数名)
__DATE__:表示预编译的日期吧(应该是这样的)
__TIME__:表示预编译的时刻吧(应该是)
通过他们我们就可以实现对代码的跟踪。
程序代码:
#include <iostream>
#include <cstdlib>
using namespace std;
#define CODE_TRACK /
{/
cout << "文件名:" << __FILE__ << endl;/
cout << "行号:" << __LINE__ << endl;/
cout << "函数名:" << __FUNCTION__ << endl;/
}
void func(void)
{
CODE_TRACK //第14行
}
void main(void)
{
CODE_TRACK //第19行
func();
system("pause");
}
vs 2005 运行结果:
文件名:c:/documents and settings/administrator/my documents/visual studio 2005/p
rojects/consoletestcpp/consoletestcpp/consoletestcpp.cpp
行号:19
函数名:main
文件名:c:/documents and settings/administrator/my documents/visual studio 2005/p
rojects/consoletestcpp/consoletestcpp/consoletestcpp.cpp
行号:14
函数名:func
请按任意键继续. . .