现在的位置: 首页 > 综合 > 正文

VC 中ASSERT宏和VERIFY宏的区别

2013年10月14日 ⁄ 综合 ⁄ 共 298字 ⁄ 字号 评论关闭

在用VC开发程序的时候,最好用VERIFY宏代替ASSERT,

当时不知道是其中的原因,今天看了两个宏的定义,终于明白了。

1、在DEBUG模式下,两个宏的功能是一样的

2、在RELEASE模式下,ASSERT不会对参数里的表达式进行计算,VERIFY会计算里面的表达式(如果是函数,将会调用该函数)。

部分定义如下:

#ifdef _DEBUG

#define VERIFY(f)          ASSERT(f)

#else

#define ASSERT(f)          ((void)0)
#define VERIFY(f)          ((void)(f))

在VC的afx.h头文件中可以看到完整定义。

抱歉!评论已关闭.