C語言斷言

2021-10-08 10:25:53 字數 530 閱讀 9842

關於斷言的使用,從 林銳的《高質量 c程式設計指南》裡提取了一段斷言的使用規

則:程式一般分為 debug 版本和 release 版本,debug 版本用於內部除錯,release

版本發行給使用者使用。

斷言 assert 是僅在 debug 版本起作用的巨集,它用於檢查「不應該」發生的情況。

【規則 6-5-1】使用斷言捕捉不應該發生的非法情況。不要混淆非法情況與錯誤

情況之間的區別,後者是必然存在的並且是一定要作出處理的。

【規則 6-5-2】在函式的入口處,使用斷言檢查引數的有效性(合法性)。

【建議 6-5-1】在編寫函式時,要進行反覆的考查,並且自問:「我打算做哪些

假定?」一旦確定了的假定,就要使用斷言對假定進行檢查。

【建議 6-5-2】一般教科書都鼓勵程式設計師們進行防錯設計,但要記住這種程式設計風

格可能會隱瞞錯誤。當進行防錯設計時,如果「不可能發生」的事情的確發生了,則

要使用斷言進行報警。

——摘自野火 三天入門 cortex-m4——kinetis 系列

C語言斷言

斷言是對某種假設條件進行檢查 可理解為若條件成立則無動作,否則應報告 它可以快速發現並定位軟體問題,同時對系統錯誤進行自動報警。斷言可以對在系統中隱藏很深,用其它手段極難發現的問題進行定位,從而縮短軟體問題定位時間,提高系統的可測性。實際應用時,可根據具體情況靈活地設計斷言。原型定義 include...

C語言斷言

斷言是對某種假設條件進行檢查 可理解為若條件成立則無動作,否則應報告 它可以快速發現並定位軟體問題,同時對系統錯誤進行自動報警。斷言可以對在系統中隱藏很深,用其它手段極難發現的問題進行定位,從而縮短軟體問題定位時間,提高系統的可測性。實際應用時,可根據具體情況靈活地設計斷言。原型定義 include...

C語言斷言assert詳解

assert巨集的原型定義在中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義 void assert int expression assert的作用 是現計算表示式 expression 如果其值為假 即為0 那麼它先向stderr列印一條出錯資訊,然後通過呼叫 abort 來終止程式執...