malloc和免费代码

时间:2011-06-26 17:39:00

标签: c linux malloc free

我在哪里可以找到我的gcc编译器目前使用的malloc代码?我实际上想编写自己的malloc函数,它与原版函数略有不同。我知道我可以使用hooks等等,但我希望看到真正的代码。

4 个答案:

答案 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。

  

进一步阅读
  Multithreading
  C++ allocation tricks [Video]

答案 3 :(得分:1)

我可以在线浏览来源here