1.調(diào)試標(biāo)記
采用預(yù)處理#define標(biāo)記,在代碼中把調(diào)試部分使用#ifdef 和#endif 進(jìn)行管理。
當(dāng)程序最終調(diào)試完成后,只需要使用#undef標(biāo)記,調(diào)試代碼就會(huì)消失。常用的調(diào)試標(biāo)記為DEBUG, 語(yǔ)句序列:
#define DEBUG
#ifdef DEBUG
調(diào)試代碼
#endif
2.宏定義方式。把變量和表達(dá)式轉(zhuǎn)換成字符串
可是使用字符串運(yùn)算符來(lái)實(shí)現(xiàn)轉(zhuǎn)換輸出定義
#define PR(x) cout<<#x”=”<<x<<'\n'
3.assert()
斷言:判斷進(jìn)入函數(shù)體的某個(gè)判斷是對(duì)的。在c及其c++編譯器中會(huì)產(chǎn)生測(cè)試該斷言的代碼,如果斷言不為真,則發(fā)出一個(gè)錯(cuò)誤信息告訴斷言是什么以及它失敗一會(huì),程序會(huì)終止。在assert。h頭文件中。在release中該斷言失效。主要在debug版中使用。