C动态分配器实现:malloc Lab思路解析

本文详细介绍了如何实现C语言的动态内存分配器,包括malloc和free函数。通过分离空闲链表算法,将heap分为malloced block和freed block,并利用header和footer管理内存。malloc过程采用next fit策略,free过程中会合并相邻的free block。文章还探讨了在heap中存储和检索数据的方法。
摘要由CSDN通过智能技术生成

实现C自带动态分配器

此次project的目的是实现C语言的自带方程malloc以及free以实现动态储存。初始架构提供了mem_sprk(size)方程来建立一个可以扩张的heap。我们需要在这个heap中分配用户需要使用的内存。

最终结果

Results for mm malloc:
  valid    util     ops   msecs    Kops  trace
   yes    81.2%      20     0.001  25284 ./traces/syn-array-short.rep
   yes    53.9%      20     0.001  27009 ./traces/syn-struct-short.rep
   yes    61.0%      20     0.001  25020 ./traces/syn-string-short.rep
   yes    95.9%      20     0.001  23320 ./traces/syn-mix-short.rep
   yes   100.0%      42     0.002  19626 ./traces/syn-largemem-short.rep
   yes    60.3%      36     0.001  33134 ./traces/ngram-fox1.rep
   yes    73.8%     757     0.050  15152 ./traces/syn-mix-realloc.rep
 * yes    72.5%    5748     0.206  27902 ./traces/bdd-aa4.rep
 * yes    66.7%   87830     3.382  25966 ./traces/bdd-aa32.rep
 * yes    68.8%   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值