首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

ASSERT(pdoc!=NULL)的用处

2013-03-21 
ASSERT(pdoc!NULL)的用途难道release下就不能使用吗?如果不能使用,那么release下如何捕捉空指针[解决办法

ASSERT(pdoc!=NULL)的用途
难道release下就不能使用吗?

如果不能使用,那么release下如何捕捉空指针


[解决办法]
assert是为了测试“肯定不会发生”的事,仅在调试时使用。
如果某处得到一个NULL指针“很正常”,如malloc,那就一定要用if判断,不能用assert。
[解决办法]
ASSERT是个宏,它的定义只在debug下有效,如果你想在release下使用,你就得定义下面的代码
#ifndef DEBUG
ASSERT(b)\
if(!b) exit(0)\
#endif
加入这个定义后,在DEBUG下,原来的定义有效,在RELEASE下上面的定义就有效了。

热点排行