上學(xué)的時候經(jīng)常看到一些VC編程方面的書上說,在用VC開發(fā)程序的時候,最好用VERIFY宏代替ASSERT,
當(dāng)時不知道是其中的原因,今天看了兩個宏的定義,終于明白了。
1、在DEBUG模式下,兩個宏的功能是一樣的
2、在RELEASE模式下,ASSERT不會對參數(shù)里的表達(dá)式進行計算,VERIFY會計算里面的表達(dá)式(如果是函數(shù),將會調(diào)用該函數(shù))。
部分定義如下:
#ifdef _DEBUG
#define VERIFY(f) ASSERT(f)
#else
#define ASSERT(f) ((void)0)
#define VERIFY(f) ((void)(f))
在VC的afx.h頭文件中可以看到完整定義。
posted on 2008-07-11 18:04
cpsprogramer 閱讀(5100)
評論(1) 編輯 收藏 引用 所屬分類:
VC++