malloc在代码中定义在哪里?

时间:2016-05-18 07:59:41

标签: c

我正在学习malloc并了解它的用途。我很好奇malloc是用C语言编写的。如果是这样,我希望看到定义它的代码。谁知道我在哪里可以找到malloc的定义?

编辑:

我知道这个链接(很多人都喜欢谷歌)http://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html,但这不是malloc的代码定义。我正在寻找定义malloc的源文件(如果存在)。看起来像这样的东西

void *malloc(size_t size) {
   // code for how malloc is implemented
}

4 个答案:

答案 0 :(得分:2)

我建议你查看GNU C库:glibc。

http://www.gnu.org/software/libc/download.html

您可以在那里阅读代码。在malloc文件夹中。

答案 1 :(得分:1)

答案 2 :(得分:1)

malloc()在标准库中定义,就所有unix风格而言,可能更多,因为标准库属于C库。无论哪个系统都实现了C库和C API,人们至少可以期望它拥有malloc。

这里有几个(除了上面提到的GNU)链接源代码:

NET BSD malloc
OSX malloc

除了标准库malloc()之外,还有一些传统的unix系统(例如IRIX)也用于实现快速 libmalloc

请同时查看此SO post

答案 3 :(得分:0)

http://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html 你可以找到很多这样的定义。你应该先试着谷歌吧:))