glibc源码中malloc函数在哪里实现的?

时间:2021-08-26 03:17:33
我下载了glibc2.8的源码,但是没有找到函数malloc的具体实现,有看过的兄弟帮忙回复一下,多谢。
我想研究一下malloc的实现,是否与dlmalloc类似。

10 个解决方案

#1


该回复于2010-12-03 11:52:39被版主删除

#2


http://topic.csdn.net/t/20051114/18/4392765.html

#3


多谢,不过这个帖子中并,没有给出正确的答复。

#4


glibc-2.8/malloc/malloc.c里面有这么一行
#define public_mALLOc    malloc
这大概就是给应用程序用的malloc吧,根据make时的不同选项,public_mALLOc还有可能被替换为dlmalloc或者__libc_malloc
同一文件里可以找到public_mALLOc的实现代码,接下来又涉及到__malloc_hook、malloc_hook_ini之类的乱七八糟的内容

#5


linux代码里面条件编译的东西太多了。
要是能正确编译一次,然后看看预处理的结果,应该能过滤掉很多没用的内容

#6


glibc-2.9是在malloc/malloc.c里:


Void_t*
public_mALLOc(size_t bytes)

#7


find /dir -name "*.[ch"]|xargs grep malloc

#8


学习了

#9


引用 2 楼 steptodream 的回复:
http://topic.csdn.net/t/20051114/18/4392765.html

其实也说了吧,这个不是简单的函数实现,不是那么容易说清的……

#10


感觉按理来说应该是在malloc/malloc.c文件中,简单看了一下,感觉写的比较乱,没有确认是不是

#1


该回复于2010-12-03 11:52:39被版主删除

#2


http://topic.csdn.net/t/20051114/18/4392765.html

#3


多谢,不过这个帖子中并,没有给出正确的答复。

#4


glibc-2.8/malloc/malloc.c里面有这么一行
#define public_mALLOc    malloc
这大概就是给应用程序用的malloc吧,根据make时的不同选项,public_mALLOc还有可能被替换为dlmalloc或者__libc_malloc
同一文件里可以找到public_mALLOc的实现代码,接下来又涉及到__malloc_hook、malloc_hook_ini之类的乱七八糟的内容

#5


linux代码里面条件编译的东西太多了。
要是能正确编译一次,然后看看预处理的结果,应该能过滤掉很多没用的内容

#6


glibc-2.9是在malloc/malloc.c里:


Void_t*
public_mALLOc(size_t bytes)

#7


find /dir -name "*.[ch"]|xargs grep malloc

#8


学习了

#9


引用 2 楼 steptodream 的回复:
http://topic.csdn.net/t/20051114/18/4392765.html

其实也说了吧,这个不是简单的函数实现,不是那么容易说清的……

#10


感觉按理来说应该是在malloc/malloc.c文件中,简单看了一下,感觉写的比较乱,没有确认是不是