我在哪里可以找到我的gcc编译器目前正在使用的malloc的代码?实际上,我想写我自己的malloc函数,它将与原来的有点不同。我知道我可以使用钩子等等,但我想看看真正的代码。
如果您想了解GNU/Linux(glibc)中的C库是如何实现malloc
的,请访问http://ftp.gnu.org/gnu/glibc/或者浏览git存储库并查看malloc/malloc.c
文件。
还有Doug Lea的内存分配器的基本文档,描述了m(内存)alloc的理论(仔细阅读,然后决定是否真的需要实现自己的malloc)。
在旧的发布站点1或此处查找glibc的适当版本。例如,如果您使用的是glib 2.9,它就在这个档案中。查找文件malloc/malloc.c
。
您将看到它不是一段微不足道的库代码。
1看起来他们在glibc-2.9之后改变了目录结构。
malloc()
应该在glibc中。
进一步阅读
多线程
C++分配技巧〔视频〕