社区
C语言
帖子详情
使用断言检查内存是否分配成功是危险的,为什么呢?
iamlwblwblwb
2012-01-20 11:58:33
看C与C指针是,说“使用断言检查内存是否分配成功是危险的”,请各位指点为什么呢?谢谢!
...全文
230
7
打赏
收藏
使用断言检查内存是否分配成功是危险的,为什么呢?
看C与C指针是,说“使用断言检查内存是否分配成功是危险的”,请各位指点为什么呢?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackyjkchen
2012-01-20
打赏
举报
回复
个人觉得无论是业务逻辑还是通用库,都不用检查指针有效性
第一,即便检查你也只能检查空指针等少数几个特殊值,任意值的野指针检查不了
第二,如果你总是犯这种内存管理上的错误(频率超过一个月3次),对不起,您不适合使用C语言
zhq445078388
2012-01-20
打赏
举报
回复
因为正式发布版是去掉断言的。。。那些是用于调试输出的。。
飞天御剑流
2012-01-20
打赏
举报
回复
因为断言一般在release版本中会被去掉,这时候就没有检查作用了。
AnYidan
2012-01-20
打赏
举报
回复
[Quote=引用 1 楼 supermegaboy 的回复:]
因为断言一般在release版本中会被去掉,这时候就没有检查作用了。
[/Quote]
++
iamlwblwblwb
2012-01-20
打赏
举报
回复
感谢以上几位,受教了,谢谢
游戏设计师
2012-01-20
打赏
举报
回复
一般断言是在DEBUG中调试用的,不过你可以自己写一个异常监控和查找库,在release版本中使用~
一般把这种类似断言的检测出现问题时候抛出异常或者写入log~
C++
使用
断言
C++
使用
断言
程序一般分为Debug版本和Release版本,Debug版本用于内部调试,Release版本发行给用户
使用
。
断言
assert是仅在Debug版本起作用的宏,它用于
检查
“不应该”发生的情况。示例6-5是一个
内存
复制函数。在运行过程中,如果assert的参数为假,那么程序就会中止(一般地还会出现提示对话,说明在什么地方引发了assert)。 v...
由
内存
复制函数看assert宏的
使用
程序一般分为Debug版本和Release版本,Debug版本用于内部调试,Release版本发行给用户
使用
。
断言
assert是仅在Debug版本起作用的宏,它用于
检查
“不应该”发生的情况。示 例6-5是一个
内存
复制函数。在运行过程中,如果assert的参数为假,那么程序就会中 止(一般地还会出现提示对话,说明在什么地方引发了assert)。
C语言共用体(Union)
内存
布局详解:用GDB调试看
内存
如何被复用
本文深入解析C语言共用体(Union)的
内存
布局机制,通过GDB调试实战展示
内存
复用原理。详细对比共用体与结构体的
内存
差异,探讨其在协议解析、硬件寄存器访问等嵌入式开发中的高级应用,并提供安全
使用
守则和性能优化建议。
C语言
内存
函数
函数功能
是否
支持重叠头文件memcpy
内存
复制❌ 不支持
memmove
内存
复制(支持重叠)✅ 支持
memset
内存
初始化
memcmp
内存
比较
常见
危险
函数和特殊函数(一)
PHP代码执行函数 mixed eval(string code)把字符串code) 把字符串code)把字符串code作为PHP代码执行 bool assert(mixed $assertion[,string $description]) 包含函数 命令执行函数 文件操作函数 特殊函数 ...
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章