问专家-assert()是干什么用的

来源:百度文库 编辑:神马文学网 时间:2024/07/05 21:36:55
ASSERT()是干什么用的
编号:QA003379
建立日期:2000年10月8日最后修改日期:2000年10月8日
所属类别:C/C++ - 新手问题
    操作系统: Windows
编程工具: Microsoft Foundation Classes ASSERT()
问题: 什么是ASSERT()? ASSERT()和assert()的区别是什么?(Lilly)
    ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:
......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 新手问题, newbie, faq。
_xyz