C語言錯誤處理——調(diào)試宏
2020-04-06 08:49 作者:Iammyself001 | 我要投稿
C語言錯誤處理
C語言處理錯誤的方法就是返回錯誤碼,設(shè)置一個errno的全局變量以供查找。而且不斷重復(fù)下面的過程

這意味著每個函數(shù)調(diào)用(你沒看錯,就是每個函數(shù)),你都要多寫3~8行的代碼來確認是否執(zhí)行成功(這還不包括你發(fā)現(xiàn)錯誤之后清理這些垃圾文件所需的代碼)。

前兩行表明如果不存在 dbg.h 的頭文件就引入,防止包含多次,重復(fù)定義會出現(xiàn)編譯錯誤。
關(guān)于NDEBUG
首先,assert是很有用的一個東西,尤其在開發(fā)調(diào)試階段,它可以明確的指出運行時在哪一行出現(xiàn)了什么問題,是有必要的。
但是,你不應(yīng)該把assert代碼代入到發(fā)布版去,一來你已經(jīng)消除了絕大部分bug沒有必要,二來assert部分的代碼會降低運行速度。
然而,刪除遍布于代碼各處的assert也是個討厭的事情,不僅繁多而且容易出錯,好在有這個NDEBUG宏,它把所有的assert代碼變成一句空話,你不用改掉任何代碼,重新編譯一遍就可以了。



標簽: