C語言中如何寫斷言
這是我自己動手寫的,主要是參考了《華為程式碼規範》上的內容。
注意#define用法的各個事項,這裡容易出錯。
/********************************************** FILE NAME exam_assert.h AUTHOR Ginhom Lau Date 03.15.2011 Place Pohang **********************************************/ #ifndef ASSERT_H_INCLUDED void exam_assert( char * file_name, unsigned int line_no ) { printf( "/n[EXAM]Assert Failed: %s, line %u/n", file_name, line_no ); abort(); } #define EXAM_ASSERT(condition) / if (condition) / { / ; / } / else / { / exam_assert(__FILE__, __LINE__); / } #else #define EXAM_ASSERT(condition) NULL #endif // ASSERT_H_INCLUDED
記得要包含標頭檔案進去。
/********************************************** FILE NAME exam_assert.c AUTHOR Ginhom Lau Date 03.15.2011 Place Pohang **********************************************/ #include "assert.h" int main(void) { EXAM_ASSERT(3 < 2); return 0; }
怎麼樣?短小精悍哈,基本意思達到了就行。再要什麼複雜功能,自己去修改吧!
歡迎評論、留言,共同探討。
相關文章
- C語言斷言assert詳解C語言
- C語言判斷輸入小寫字母的個數C語言
- C語言:判斷閏年C語言
- C語言中sync()C語言
- C語言中有C語言
- C語言用三目運算實現判斷大寫C語言
- C語言中的#和##C語言
- C語言-檔案讀寫C語言
- C語言_瞭解一下C語言中的四種儲存類別C語言
- 判斷水仙花數C語言C語言
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- C語言異常與斷言介面的實現C語言
- C語言 編寫線段樹C語言
- 解析C語言中的sizeofC語言
- C語言中extern的用法C語言
- c語言中sizeof詳解C語言
- c語言中的&的用法C語言
- C語言中&&,||,&,| 的區別C語言
- C語言中malloc與freeC語言
- c語言中的作用域C語言
- 如何學好C語言C語言
- 【C】 30_C語言中的字串C語言字串
- 如何在C語言中使用tensorflow(五)進階C語言
- C語言中如何求一個陣列的長度C語言陣列
- 用C語言寫strcat、strcpy、strlen、strcmpC語言
- 新學一種c語言寫法C語言
- C語言程式書寫規範 (轉)C語言
- C 語言中的 time 函式函式
- C語言中結構體感悟C語言結構體
- c語言中的關鍵字C語言
- C語言中的檔案流C語言
- C語言中的*和&符號C語言符號
- C語言中的abort函式C語言函式
- 解析C語言中的sizeof (轉)C語言
- C 語言中的 sscanf 詳解
- static在C語言中的作用C語言
- C語言判斷素數,判斷質素演算法C語言演算法
- C語言中迴圈語句while 中判斷條件出現 || 和 && 的區別C語言While