1)assert 是标准c提供的宏,用来测试给定的表达式.在release版本一般不能使用(因为release的makefile一般有-DNDEBUG选项,如果你非要用,修改makefile,删除这个选项) 2)至于你说的ASSERT是各个平台自己的封装,你可以查看宏定义.(应该也可以用makefile选项进行修改) 3)release情况下,你要判断是否为空,用if……
assert是为了测试“肯定不会发生”的事,仅在调试时使用。 如果某处得到一个NULL指针“很正常”,如malloc,那就一定要用if判断,不能用assert。
ASSERT是调试用的,这种空指针问题都应该在开发阶段就解决掉,release版本里应当不存在这种问题
70,020
社区成员
243,263
社区内容
加载中
试试用AI创作助手写篇文章吧