打印
[uCOS/RTOS]

ucos之void *OSMemGet()函数求解

[复制链接]
913|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
john_lee| | 2015-7-15 11:59 | 只看该作者
使 OSFreeMemList 指向下一块空闲块。

使用特权

评论回复
板凳
liuchang890811|  楼主 | 2015-7-15 16:10 | 只看该作者
小弟有个地方理解不了,恳请大神赐教~~~
我把思路理一下
1: 确认有空闲的内存块
2: 将内存控制块空闲链表的表头指针赋值给pblk指针,也就是传递给它
3: 一开始:pblk是一个指向void的指针
   这里*(void **)pblk首先是将pblk强制转换成二级指针
   此时pblk存储的是空闲链表指针的地址,*pblk存储的是空闲链表的指针
   然后再把*pblk赋值给poem->OSMenFreeList,请问大神:这里是如何将*poem指向下一个控制块的啊?

使用特权

评论回复
地板
john_lee| | 2015-7-15 16:50 | 只看该作者
pmem 本身就是控制块,并且没有你所谓的“下一控制块”的说法。
正确的说法是 pmem->OSFreeMemList 指向了第一个空闲内存快。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
liuchang890811 + 1 很给力!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

87

帖子

0

粉丝