有没有一种方法可以让我找到C标准库malloc()的源代码



可能重复:
malloc和免费的代码

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

Gnu源代码

有许多实现:http://freebsd.active-venture.com/FreeBSD-srctree/newsrc/i386/boot/cdboot/malloc.c.html

http://www.google.co.uk/search?q=malloc+源代码+代码

规范实现是dlmalloc:

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

任何不是纯粹垃圾的实现都使用相同的基本bin算法,但可能有线程本地缓存、竞技场等功能,这可能有助于提高性能,但会让它更难理解,所以我只想阅读dlmalloc,并将其余部分保存起来,以备你想让自己受苦时使用。作为一个主要优势,dlmalloc的算法有很好的文档记录;请参阅我提供的链接。

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

相关内容

  • 没有找到相关文章

最新更新