C/C++ assert()函式用法總結
阿新 • • 發佈:2021-02-03
技術標籤:C++函式庫常識
#include <stdio.h> #include <assert.h> #include <stdlib.h> int main() { FILE *fp; fp=fopen("test.txt", "w");//以可寫的方式開啟一個檔案,如果不存在就建立一個同名檔案 assert(fp);//所以這裡不會出錯 fclose(fp); fp=fopen( "noexitfile.txt", "r" );//以只讀的方式開啟一個檔案,如果不存在就開啟檔案失敗 assert(fp);//所以這裡出錯 fclose( fp ); //程式永遠都執行不到這裡來 return 0; }
已放棄使用assert()的原因是,頻繁的呼叫會極大的影響程式的效能,增加額外的開銷。在除錯結束後,可以通過在包含#include <assert.h>的語句之前插入 #define NDEBUG 來禁用assert呼叫,示例程式碼如下:
#include <stdio.h>
#define NDEBUG
#include <assert.h>