我是C初学者,我想了解各种库的实现方式。我查看/ usr/src/include下的所有文件。例如,我在看malloc.h,它所做的只是声明extern函数。 所以我试图找到这些功能的来源。我下载了gcc源代码rpm,但看着gcc源代码,它看起来更像是编译器代码,而不是像stdlib这样的库的代码。 你能帮我指点一下正确的方向吗?在哪里可以找到c源代码
谢谢。
我是C初学者,我想了解各种库的实现方式。我查看/ usr/src/include下的所有文件。例如,我在看malloc.h,它所做的只是声明extern函数。 所以我试图找到这些功能的来源。我下载了gcc源代码rpm,但看着gcc源代码,它看起来更像是编译器代码,而不是像stdlib这样的库的代码。 你能帮我指点一下正确的方向吗?在哪里可以找到c源代码
谢谢。
您正在寻找glibc,而不是gcc。
我personnaly通过读取微控制器系统库如http://www.nongnu.org/avr-libc/学到了很多有趣的东西,但是这取决于你需要做的事情,它需要一个微控制器运行。
一个想法:根据你在找什么,你可以去busybox:它是许多有用的系统命令的重新实现,你可以从中学到很多东西,并且运行它不需要专用计算机。
更新:我问相关的,从我不是导师POV得到了一些非常有趣的答案glibc的功能的问题: where to find select() source code in glibc source?
我在http://www.makelinux.net/kernel_map上发现了内核映射,这是内核代码组织方式的一个很好的来源 – Jimm 2011-06-16 13:20:11
哇,那个内核映射正是我一直在寻找的!谢谢 – 2011-06-16 14:27:00
'gcc'源代码*应*看起来像“编译代码”,毕竟,'gcc' **是一个编译器。 – pavium 2011-06-16 12:36:45
有点遗憾:'malloc.h'是遗留的兼容性垃圾,不应该使用。 'malloc'的正确标题是'stdlib.h'。 – 2011-06-16 14:05:20