欢迎来到天天文库
浏览记录
ID:56369312
大小:147.00 KB
页数:2页
时间:2020-06-22
《这个图示是正确.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、这个图示是正确的(嵌入式实时操作系统Uc/os-II第2版p275)使用了每个内存块的前32位(4个字节)作为指向下一个块的指针if(blksize2、Plink指向的是下一个内存块的Next域(即前4个字节)通过修改*Plink达到修改Next域从而达到拉链的目的*plink和*pblk同级,可以看成两个挨着的游标。(当指针前面没有任何*时才是修改指针的指向,否则都是修改指针指向的内容)四行黄色的数据读出了每个取出内存块的前四个字节的数据,表明占据了内存块的空间由于Put的顺序不同出现了不同的效果第一行取出的内存块的首地址为:1307131313191325故显示1313131913250第二行因为第一次放回的顺序是逆序放回没有打乱原来的链表,故显示效果同第一行第二次采用顺序放回,故第三行3、显示有所改变第三次按0312顺序放回,故第四行产生1319130713250的顺序OSMemGet的返回值很重要,如果不加保留,内存区域就永远不能还原了。所以附带了memory示例程序中用了指针数组保存返回的指针。(电脑配置不同,可能产生的数字不同)
2、Plink指向的是下一个内存块的Next域(即前4个字节)通过修改*Plink达到修改Next域从而达到拉链的目的*plink和*pblk同级,可以看成两个挨着的游标。(当指针前面没有任何*时才是修改指针的指向,否则都是修改指针指向的内容)四行黄色的数据读出了每个取出内存块的前四个字节的数据,表明占据了内存块的空间由于Put的顺序不同出现了不同的效果第一行取出的内存块的首地址为:1307131313191325故显示1313131913250第二行因为第一次放回的顺序是逆序放回没有打乱原来的链表,故显示效果同第一行第二次采用顺序放回,故第三行
3、显示有所改变第三次按0312顺序放回,故第四行产生1319130713250的顺序OSMemGet的返回值很重要,如果不加保留,内存区域就永远不能还原了。所以附带了memory示例程序中用了指针数组保存返回的指针。(电脑配置不同,可能产生的数字不同)
此文档下载收益归作者所有