__LINE__返回源程序中当前的行号。
__FILE__返回当前源文件名。
__DATE__ 返回当前时间。
可以尝试把我这段代码拷贝我去调试看看结果,加深下印象:
#include <iostream.h>
int main(int argc, char* argv[])
{
cout<<__FILE__<<endl;
cout<<__LINE__<<endl;
cout<<__DATE__<<endl;
return 0;
}
知道这几个宏的意思,那么下面讲讲其作用,当我们调试程序时想知道问题出在那个文件以及哪一行,或者先后顺序那么这个时候就有很大作用了。我之所以说少见并不是用得很少,在项目中这几个宏相当有用,但是我们经常写测试程序时很少用到。
#ifdef _DEBUG
#define TRACE_FILE_LINE_INFO() do{/
CString str;/
str.Format(_T("file=%s,line=%u/r/n",__FILE__,__LINE__);/
CFile file("logfile.txt");/
file.Write(str,str.GetLength());/
}while(0)
#else
#define TRACE_FILE_LINE_INFO()
#endif

2544

被折叠的 条评论
为什么被折叠?



