资料
  • 资料
  • 专题
Keil C51的动态内存管理机制分析与改进
推荐星级:
时间:2019-12-25
大小:461KB
阅读数:235
上传用户:二不过三
查看他发布的资源
下载次数
0
所需E币
5
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
Keil C51的动态内存管理机制分析与改进 Keil C51动态内存管理机制分析及改进 作者:重庆电力高等专科学校 丁明亮 熊真春 阅读:311 引用:0 发布时间:2007-07-04 08:30 出处:单片机及嵌入式系统应用 Keil C51是常用的嵌入式系统编程工具,它通过init_mempool、mallloe、free等函数,提供 了动态存储管理等功能。本文通过对init_mempool、mallloe和free这3个Keil C51库函数源代码的分析,揭示其实现的原理和方法,并对其中的不足作了改进,以使K eil C编程人员更好地应用动态存储管理。 1 相关数据结构、变量及说明 在Keil C51安装目录下的\c5l\lib目录下,有实现init_mempool、mallloe和free这3个函数的 C源文件init_mere.c、malloc.c和free.c。下面针对Keil C7.5A版,将其中与动态存储管理相关的数据结构介绍如下: [pic] 该结构的next指向堆中的下一空闲内存块,len表示该空闲块除去该块首部的struct __mem__结构所占的字节数后,该块实际可用的字节数。由于next是一个指向XDATA区的 指针,故在Keil C51中应用程序所定义的堆空间应在XDATA区中定义。 在Keil C51中,堆中的所有空闲内存块是用一个单链表来管理的,struct_mere_即为该链表结点 的结构,后面定义的宏AVAIL为该链表的首结点,为叙述方便,以下将该链表称为AVAIL 链表。 [pic]   #define AVAIL(__meM_avaiL_[O]) 全局数……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书