ASSERT()是一個調試程序時經常使用的宏,在程序運行時它計算括號內的表達式,如果表達式爲FALSE (0), 程序將報告錯誤,並終止執行。如果表達式不爲0,則繼續執行後面的語句。這個宏通常原來判斷程序中是否出現了明顯非法的數據,如果出現了終止程序以免導致嚴重後果,同時也便於查找錯誤。
函數原型爲 #include <assert.h>
void assert(int expression);
ASSERT宏定義如下
#define ASSERT(f) \
do \
{ \
if (!(f) && AfxAssertFailedLine(THIS_FILE, __LINE__)) \
AfxDebugBreak(); \
} while (0) \
ASSERT(邏輯表達式)
如果括號中的邏輯表達式值爲假的話,會彈出調試命令窗口,提示具體在哪個文件的哪一行發生了斷言錯誤!
*****************************************************************************************
如果定義NDEBUG 即#define NDEBUG,那麼