[发明专利]一种动态内存分配方法在审
申请号: | 202110734591.5 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113419858A | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 叶德焰;任赋;林雅;许学泽 | 申请(专利权)人: | 明见(厦门)技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 蔡金塔 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 内存 分配 方法 | ||
1.一种动态内存分配方法,其特征在于,包括以下步骤:
定义节点头信息,节点头信息包括节点的已使用长度ulen和next指针;
内存初始化,将内存池初始化成仅有开始节点和末尾节点的单向链表结构,其中,开始节点的ulen=0,next指针指向末尾节点;末尾节点的next指针为空,即next=NULL;
内存分配,当申请内存时,从开始节点开始查找剩余的空间长度大于等于申请内存的长度的节点,找到后判断该节点的ulen是否等于0,若是,则将该节点的ulen的值改为申请内存的长度,否则在该节点后创建一个新节点,并将该节点的next指针指向新节点,新节点的ulen值等于申请内存的长度,next指针指向下一个节点;
内存释放,当释放内存时,若释放的是开始节点,则只要将开始节点的ulen赋值为0即可,否则只需要将该节点的前一节点的next指针指到该节点的下一节点即可。
2.如权利要求1所述的动态内存分配方法,其特征在于,节点的剩余空间长度LR的计算公式为:LR=nextblock-curblock-ulen-8-8,其中,curblock表示当前节点的起始地址,nextblock表示下一节点的起始地址,第一个8表示当前节点头信息所占字节数,第二个8表示新创建的下一个节点头信息所占字节数。
3.如权利要求1所述的动态内存分配方法,其特征在于,ulen和next指针的长度均为4个字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于明见(厦门)技术有限公司,未经明见(厦门)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110734591.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种办公楼内部装修施工工艺
- 下一篇:一种激光器动态固定装置