| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 1 | 2 | 3 | 4 | 5 | 6 |
上學的時候經常看到一些VC編程方面的書上說,在用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頭文件中可以看到完整定義。