使用预处理器进行调试
预处理指令
#ifndef NDEBUG
cout << "......" << endl;
#endif
使用预处理器可以方便的进行初期调试,方便开发者更好的运用程序。
预定义常量
"文件:" __FILE__
"日期" __DATE__
"时间" __TIME__
”行" __LINE__
assert断言
#include<iostream>
#include<cassert>
using namespace std;
int num = 100;
int add(int x, int y)
{
return x * y;
}
void minu(int x)
{
if (x < 0)
{
cout << "x不能小于0" << endl
<< "文件:" << __FILE__
<< "日期" << __DATE__
<< "时间" << __TIME__
<<"行"<< __LINE__ << endl;
}
num -= x;
}
int main()
{
#ifndef NDEBUG
cout << "开始调试" << endl;
#endif
int NowNum;
minu(-10);
NowNum = add(1, 3);
assert(NowNum == 4);
#ifndef NDEBUG
cout << "结束调试" << endl;
#endif
return 0;
}
1,当minu(x)中x小于0时,输出:
2,
NowNum = add(1, 3);
assert(NowNum == 4)
由于NowNum本来等于3,与预期不符,所以报错。
3,当在属性中的命令行里输入/DNDEBUG 是预处理不显示,这样方便程序员随时打开或关闭预处理器