断言assert
ASSERT(expr);
assert(expr);
// 当expr==0时,系统会调用abort来终止程序运行。
// 当expr==true,正常运行
注:ASSERT是MFC中的,<afx.h> assert是标准C++中的,<assert.h>
两者都是在Debug下有效,在Release下,相当于没有,
#ifdef NDEBUG //NDEBUG是release,_DEBUG是debug #define assert(e) ((void)0) // 如果有定义NDEBUG宏,则assert断言不生效
VERIFY
VERIFY(wnd.create(...));
当debug、release下都运行 wnd.create(...) ,并在debug下断言是否成功。
#ifdef _DEBUG #define VERIFY(f) ASSERT(f) #else #define VERIFY(f) ((void)(f)) #endif
原文链接: https://www.cnblogs.com/htj10/p/13054290.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/353345
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!