【发布时间】:2012-06-14 10:33:48
【问题描述】:
标准 c 库中是否有 verify() 函数(例如 msvc 中的 VERIFY())或类似函数,还是我必须自己编写?如果有,它在哪个标题下?
编辑: assert 和 verify 的区别在于,verify 仍然会在 release 构建中执行函数,而 assert 中的语句不会在 release 中编译。
即
assert( printf("assert ") );
verify( printf("verify") );
在调试中将打印"assert verify",但在发布中将打印"verify"。
【问题讨论】:
-
在发布版本中是否启用断言完全取决于您 - 这由
NDEBUG宏控制。 -
我明白了,答案是否定的,这只是微软的事情。
-
如果你喜欢用微软的方式做事,那么你可以用例如编译。
gcc -DVERIFY=assert ...但最好是可移植的,只需在代码中使用assert。
标签: c standard-library