C/C++编译器的预处理器定义了一些名字:
__FILE__,__LINE__,__FUNCTION__,__DATE__,__TIME__等。
顾名思义:
__FILE__:表示当前文件的文件名(含绝对路径)。
__LINE__:表示当前行号。
__FUNCTION__:表示当前函数名字(不包括返回值和实参,仅仅是函数名)
__DATE__:表示预编译的日期吧(应该是这样的)
__TIME__:表示预编译的时刻吧(应该是)
通过他们我们就可以实现对代码的跟踪。
程序实例:
#include <iostream>
#include <cstdlib>
using namespace std;
#define CODE_TRACK \
{\
cout << "file name :" << __FILE__ << endl; \
cout << "line number" << __LINE__ << endl; \
cout << "function name: " << __FUNCTION__ << endl;\
}
void func(void)
{
CODE_TRACK
}
int main(void)
{
CODE_TRACK
func();
system("pause");
}
执行结果:
file name :c:\users\yu\documents\visual studio 2013\projects\trace\trace\源.cpp
line number21
function name: main
file name :c:\users\yu\documents\visual studio 2013\projects\trace\trace\源.cpp
line number16
function name: func
请按任意键继续. . .
转自:http://blog.csdn.net/ielxd1989/article/details/6452534