一种动态内存分配方法
基本信息
申请号 | CN202110734591.5 | 申请日 | - |
公开(公告)号 | CN113419858A | 公开(公告)日 | 2021-09-21 |
申请公布号 | CN113419858A | 申请公布日 | 2021-09-21 |
分类号 | G06F9/50(2006.01)I | 分类 | 计算;推算;计数; |
发明人 | 叶德焰;任赋;林雅;许学泽 | 申请(专利权)人 | 明见(厦门)技术有限公司 |
代理机构 | 厦门市精诚新创知识产权代理有限公司 | 代理人 | 蔡金塔 |
地址 | 361000福建省厦门市思明区禾祥西路487、489号三楼之六十 | ||
法律状态 | - |
摘要
摘要 | 本发明涉及一种动态内存分配方法,其可包括以下步骤:定义节点头信息,节点头信息包括节点的已使用长度ulen和next指针;内存初始化,将内存池初始化成仅有开始节点和末尾节点的单向链表结构;内存分配,从开始节点开始查找剩余的空间长度大于申请内存的长度的节点,找到后判断该节点的ulen是否等于0,若是,则将该节点的ulen的值改为申请内存的长度,否则在该节点后创建一个新节点,并将该节点的next指针指向新节点;内存释放,当释放内存时,若释放的是开始节点,则只要将开始节点的ulen赋值为0即可,否则只需要将的前一节点的next指针指到下一节点即可。本发明无需进行复杂运算,仅需对参数ulen和next指针进行操作,执行代码简单,效率高。 |
