ASSERT函數

   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,那麼

發佈了29 篇原創文章 · 獲贊 16 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章