题
我在写一篇MSFT的Visual Studio 2010 Beta版C89。我怎样才能让一个断言,类似于Java的assert
关键字?我想我需要定义一个宏,但我不知道怎么样。 (好像这东西是没有做过,所以我宁愿使用不是试图推出自己的。)
这里的一个猜测:
int assert(int truth_value) {
// crash the program with an appropriate error message
}
解决方案
C89具有<assert.h>
,其中包含你正在寻找的宏。
#include <assert.h>
assert(expression);
从文档:
的断言强>()宏测试给定的表达如果是假,则 呼叫处理终止。诊断消息被写入到 stderr的 和中止(3)函数被调用时,有效地终止该程序。
如果表达为真,在断言强>()宏什么也不做。
不隶属于 StackOverflow