我在写一篇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)函数被调用时,有效地终止该程序。

     

如果表达为真,在断言()宏什么也不做。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top