有没有办法让我找到C标准库malloc()的源代码?

时间:2011-10-21 09:16:15

标签: c malloc

  

可能重复:
  Code for malloc and free

如果没有,有人可以向我解释malloc()是如何工作的(它使用什么算法/数据结构)。我想将标准库的实现与我自己的malloc()实现进行比较。

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

答案 2 :(得分:1)

规范实施是dlmalloc

http://g.oswego.edu/dl/html/malloc.html

任何非纯垃圾的实现都使用相同的基本bin算法,但可能有线程本地缓存,竞技场等可能有助于提高性能但却让它更难理解的东西,所以我只想阅读{{当你想让自己受苦时,请保留其余部分。作为一个主要的加分,dlmalloc的算法有很好的记录;看到我提供的链接。

答案 3 :(得分:0)

标准库函数是按平台实现的,因此任何给定平台的实现都可以采用多种方法中的任何一种。要搜索的术语包括:固定块分配器,伙伴块分配器,slab分配器等。