關於斷言的使用,從 林銳的《高質量 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 來終止程式執...