我在哪里可以找到我的gcc编译器目前使用的malloc代码?我实际上想编写自己的malloc函数,它与原版函数略有不同。我知道我可以使用hooks等等,但我希望看到真正的代码。
答案 0 :(得分:17)
malloc的POSIX接口是defined here。
如果您想了解GNU / Linux(glibc)中的C库如何实现malloc
,请从http://ftp.gnu.org/gnu/glibc/获取源代码并查看malloc/malloc.c
文件。
还有Memory Allocator by Doug Lea的基础文档描述了 m (emory) alloc (ator)的理论(请仔细阅读,以及然后决定你是否真的需要实现自己的malloc)。
答案 1 :(得分:7)
在old release site 1 或here查看适当的glibc版本。例如,如果您使用的是glib 2.9,则它位于this archive。查找文件malloc/malloc.c
。
你会发现它不是一个微不足道的图书馆代码。
1 看起来他们在glibc-2.9之后改变了目录结构。
答案 2 :(得分:1)
malloc()
应该是glibc。
答案 3 :(得分:1)
我可以在线浏览来源here。