C/C++代码跟踪

    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
请按任意键继续. . .

posted @ 2011-05-28 23:44  夜塔  阅读(352)  评论(0编辑  收藏  举报