[uCOS/RTOS] ucos之void *OSMemGet()函数求解

[复制链接]
1063|3
 楼主| liuchang890811 发表于 2015-7-15 09:04 | 显示全部楼层 |阅读模式
小弟初学ucos,看的是邵贝贝的pdf,如下这个源码小弟是其中的一个截图,有个问题想请教大神(问题在图上)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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

粉丝
快速回复 在线客服 返回列表 返回顶部