11年6个月前IP:广东
774328
56楼
引用 金星凌日:
这些我都知道,可能是我没有表达清楚。
我的意思是,使用了这种协程,这个函数就会变成不可复制的资源。而C语言中没有办法阻止这种错误用法,除非人工检查。或许使用断言会有一定帮助,但这并不能解决所有问题。
这种问题目前可能没有什么好办法解决,只能强调编程规范和单元测试……
用C/C++写过大程序的人都知道,在一个地方mallco/new后如果在多个分支realloc/delete,很容易就出现内存泄露并且难以查找;在ucos里也一样,如果在某个地方你觉得很重要,加了个OS_ENTER_CRITICAL(),然后在几个条件分支里遗漏了一个OS_EXIT_CRITICAL(),结果就是不知道什么时候系统就会突然挂了(还很难重现),也是很难找出原因
评论
文号 / 774328

实习会员
名片发私信
学术分 -1
总主题 9 帖总回复 982 楼拥有证书:进士 机友 笔友
注册于 2010/11/27 10:53:31最后登录 2026/10/29 21:51:43
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的