/*
#include <iostream>
using namespace std;
#define ASSERT(x)\
if (!(x))\
{\
cout<<"错误!ASSERT("<<#x<<")宏函数执行失败\n";\
cout<<"错误代码出现在第"<<__LINE__<<"行\n";\
cout<<"出错的文件在:"<<__FILE__<<"\n";\
}
int main()
{
int x=999;
cout<<"第一次执行assert():\n";
ASSERT(x==999);
cout<<"第二次执行assert():\n";
ASSERT(x!=999);
cout<<"程序结束.\n";
return 0;
}
*/
//打开调试(DEBUG)
#define DEBUG
#include <iostream>
using namespace std;
#ifndef DEBUG
#define ASSERT(x)
#else
#define ASSERT(x)\
if (!(x))\
{\
cout<<"错误!ASSERT("<<#x<<")宏函数执行失败\n";\
cout<<"错误代码出现在第"<<__LINE__<<"行\n";\
cout<<"出错的文件在:"<<__FILE__<<"\n";\
}
#endif
int main()
{
int x=999;
cout<<"第一次执行assert():\n";
ASSERT(x==999);
cout<<"第二次执行assert():\n";
ASSERT(x!=999);
cout<<"程序结束.\n";
getchar();
return 0;
}
#include <iostream>
using namespace std;
#define ASSERT(x)\
if (!(x))\
{\
cout<<"错误!ASSERT("<<#x<<")宏函数执行失败\n";\
cout<<"错误代码出现在第"<<__LINE__<<"行\n";\
cout<<"出错的文件在:"<<__FILE__<<"\n";\
}
int main()
{
int x=999;
cout<<"第一次执行assert():\n";
ASSERT(x==999);
cout<<"第二次执行assert():\n";
ASSERT(x!=999);
cout<<"程序结束.\n";
return 0;
}
*/
//打开调试(DEBUG)
#define DEBUG
#include <iostream>
using namespace std;
#ifndef DEBUG
#define ASSERT(x)
#else
#define ASSERT(x)\
if (!(x))\
{\
cout<<"错误!ASSERT("<<#x<<")宏函数执行失败\n";\
cout<<"错误代码出现在第"<<__LINE__<<"行\n";\
cout<<"出错的文件在:"<<__FILE__<<"\n";\
}
#endif
int main()
{
int x=999;
cout<<"第一次执行assert():\n";
ASSERT(x==999);
cout<<"第二次执行assert():\n";
ASSERT(x!=999);
cout<<"程序结束.\n";
getchar();
return 0;
}
本文介绍了一个使用C++编写的简单程序,该程序通过定义自定义断言宏来演示如何进行基本的错误检查和调试。当开启DEBUG宏时,自定义的ASSERT宏会在条件不满足时输出错误信息,包括断言失败的具体原因、发生错误的文件名及行号等,有助于开发者快速定位问题。
3147

被折叠的 条评论
为什么被折叠?



