int main()
{
string str1, str2;
while(cin>>str1>>str2)
{
assert(str1 =="hello");
;
#ifndef NDEBUG
cout<<"FILE "<<__FILE__<<endl;
cout<<"LINE "<<__LINE__<<endl;
cout<<"DATE "<<__DATE__<<endl;
cout<<"TIME "<<__TIME__<<endl;
#endif // NDEBUG
}
return 0;
}
======================================================
1.
i#fndef NDEBUG
// DEBUG CODE
#endif
在release 版本中定义NDEBUG 则可以去掉debug 代码
大多数编译器都提供了-NDEBUG 选项,用于去掉debug 代码
2. (调试时)非常有用的常量:
__FILE__ 文件名
__LINE__ 当前行号
__DATE__ 文件被编译的日期
__TIME__ 文件被编译的时间
3.
#include <cassert>
assert(expr);
当expr 为假时,assert 输出信息并终止程序运行
更多关于编程语言, 数据库,算法等精品内容, 请访问 我的个人博客 huqijun.org
个人原创内容, 转载请注明来源!