Code for malloc and free

2019-01-14 08:02发布

Where can I find the code for malloc my gcc compiler is using at the moment? I actually want to write my own malloc function which will be a little different from the original one. I know I can use hooks et all, but I want to see the real code.

4条回答
来,给爷笑一个
2楼-- · 2019-01-14 08:45

Look in the appropriate release of glibc at the old release site1 or here. For example, if you are using glib 2.9, it is in this archive. Look for the file malloc/malloc.c.

You will see that it is not a trivial piece of library code.


1 It looks like they changed the directory structure after glibc-2.9.

查看更多
\"骚年 ilove
3楼-- · 2019-01-14 08:49

I am able to browse the source online here.

查看更多
叼着烟拽天下
4楼-- · 2019-01-14 08:54

The POSIX interface of malloc is defined here.

If you want to find out how the C library in GNU/Linux (glibc) implements malloc, go and get the source code from http://ftp.gnu.org/gnu/glibc/ and look at the malloc/malloc.c file.

There is also the base documentation of the Memory Allocator by Doug Lea that describes the theory of a m(emory)alloc(ator) (read this carrefully, and then decide if you really need to implement your own malloc).

查看更多
Juvenile、少年°
5楼-- · 2019-01-14 08:54

malloc() should be in glibc.

Further Reading
Multithreading
C++ allocation tricks [Video]

查看更多
登录 后发表回答