使用ANSI C and Microsoft C++中常用的预定义宏

FILE源文件的名称XXX.cpp

LINE
代码在源文件中是第几行

DATE
源文件完成日期如Aug 17 2011

TIME
源文件完成时间如19:31:13

TIMESTAMP
源文件完成日期时间如Wed Aug 17 19:27:36 2011



如分配内存函数malloc()的一个版本就使用了上面的宏

#definemalloc(s)_malloc_dbg(s,_NORMAL_BLOCK, FILE, LINE)

另外可以在程序中使用FILELINE来确定是哪个文件哪一行出错:

char pszFileName= (char)malloc(MAX_PATH* sizeof(char));

if (pszFileName==NULL)

printf("Error in %s %d\n",FILE, LINE);

当然实际程序中大多用FILELINE快速定位错误后不会直接输出,而是通过另一程序来将这些信息以EMAIL形式反馈给开发人员。

FILE可以方便的转化成wchar_t类型,MSDN就有这个例子:

#defineWIDEN2(x) L##x

#defineWIDEN(x)WIDEN2(x)

#defineWFILEWIDEN(FILE)

wchar_t*pwsz=WFILE;

宏中###的讲解会另开一篇。
原文链接: https://www.cnblogs.com/morewindows/archive/2011/08/17/2143523.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/30668

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午7:58
下一篇 2023年2月8日 上午7:58

相关推荐