1.調(diào)試標(biāo)記
適用預(yù)處理#define定義一個(gè)或多個(gè)調(diào)試標(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.運(yùn)行期間調(diào)試標(biāo)記
在程序運(yùn)行期間打開(kāi)和關(guān)閉調(diào)試標(biāo)記。通過(guò)設(shè)置一個(gè)調(diào)試bool標(biāo)記可以實(shí)現(xiàn)。這對(duì)命令行運(yùn)行的程序更為方便。
例如下面代碼
#include<iostream>
#include <string>
using namespace std;
bool debug =false;
int main(int argc,char*argv[])
{
for(int i=0;i<argc;i++)
if(string(argv[i])==“--debug=on“)
debug = true;
bool go=true;
while(go)
{
if(debug)
{
調(diào)試代碼
}else {}
}
}
3.把變量和表達(dá)式轉(zhuǎn)換成字符串
可是使用字符串運(yùn)算符來(lái)實(shí)現(xiàn)轉(zhuǎn)換輸出定義
#define PR(x) cout<<#x”=”<<x<<’\n’
4.c語(yǔ)言的assert()
該宏在<assert>中,,當(dāng)使用assert時(shí)候,給他個(gè)參數(shù),即一個(gè)判讀為真的表達(dá)式。預(yù)處理器產(chǎn)生測(cè)試該斷言的代碼,如果斷言不為真,則發(fā)出一個(gè)錯(cuò)誤信息告訴斷言是什么以及它失敗一會(huì),程序會(huì)終止?! ?BR> #include< assert>
using namsapce std;
int main()
{
int i=100;
assert(i!=100); //Fails
}
當(dāng)調(diào)試完畢后在#include<assert>前加入#define NDEBUG即可消除紅產(chǎn)生的代碼
}
適用預(yù)處理#define定義一個(gè)或多個(gè)調(diào)試標(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.運(yùn)行期間調(diào)試標(biāo)記
在程序運(yùn)行期間打開(kāi)和關(guān)閉調(diào)試標(biāo)記。通過(guò)設(shè)置一個(gè)調(diào)試bool標(biāo)記可以實(shí)現(xiàn)。這對(duì)命令行運(yùn)行的程序更為方便。
例如下面代碼
#include<iostream>
#include <string>
using namespace std;
bool debug =false;
int main(int argc,char*argv[])
{
for(int i=0;i<argc;i++)
if(string(argv[i])==“--debug=on“)
debug = true;
bool go=true;
while(go)
{
if(debug)
{
調(diào)試代碼
}else {}
}
}
3.把變量和表達(dá)式轉(zhuǎn)換成字符串
可是使用字符串運(yùn)算符來(lái)實(shí)現(xiàn)轉(zhuǎn)換輸出定義
#define PR(x) cout<<#x”=”<<x<<’\n’
4.c語(yǔ)言的assert()
該宏在<assert>中,,當(dāng)使用assert時(shí)候,給他個(gè)參數(shù),即一個(gè)判讀為真的表達(dá)式。預(yù)處理器產(chǎn)生測(cè)試該斷言的代碼,如果斷言不為真,則發(fā)出一個(gè)錯(cuò)誤信息告訴斷言是什么以及它失敗一會(huì),程序會(huì)終止?! ?BR> #include< assert>
using namsapce std;
int main()
{
int i=100;
assert(i!=100); //Fails
}
當(dāng)調(diào)試完畢后在#include<assert>前加入#define NDEBUG即可消除紅產(chǎn)生的代碼
}