您的位置:首页 > 其它

assert 断言的不同编译器行为

2016-07-10 02:01 260 查看
在VC下边,assert 断言自动在release 版本下失效;但是在gcc 下边,需要

#define NDEBUG
#include <assert.h>在包含 <asser.h> 头文件之前定义 NDEBUG 宏。
另外,在assert( expr )中的 expr 表达式中不要有状态的改变,因为在release 版本忽略 expr 表达式的执行,会造成 debug 和 release 版本的程序状态不一致。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: