C 库函数的源代码在哪里?

问题描述 投票:0回答:3

我想了解各种库是如何实现的。我查看了

/usr/src/include
,发现的只是
.h
文件。例如,我正在查看
malloc.h
,它所做的只是声明
extern
函数。

所以我正在尝试寻找这些函数的来源。我下载了 GCC 源 RPM,但是查看 GCC 源,它看起来更像是编译器代码,而不是

stdlib
等库的代码。 您能帮我指出正确的方向吗?

c c-standard-library
3个回答
7
投票

您需要获取关联 C 库的源代码,在您的情况下可能是 glibceglibc

在 /usr/include/ 文件夹中,仅存在 libc 的标头,以及 linux/ 子文件夹中的一些 Linux 内核标头。


7
投票

您正在寻找 glibc,而不是 gcc。


3
投票
  • .h 文件从不包含代码(嗯,至少应该包含。宏是例外)
  • 基本的 C 函数位于 glibc 或 Linux 内核中
  • gcc、linux 和 glibc 代码都是庞然大物,如果你是初学者,你应该选择更简单的东西
  • 您可能应该选择一个简单的库,它提供了一些关于某个狭窄主题的工具。
  • 然后选择 linux 和 glibc(或 uclibc)

我个人通过阅读微控制器系统库(例如http://www.nongnu.org/avr-libc/)学到了许多有趣的东西,但这取决于您需要做什么,并且需要微控制器来运行它。

一个想法:根据您要寻找的内容,您可以选择 busybox:它是许多有用的系统命令的重新实现,您可以从中学到很多东西,并且运行它不需要专用计算机。

更新:我问了一个与 glibc 函数相关的问题,我的非专家观点得到了一些非常有趣的答案: 在 glibc 源代码中哪里可以找到 select() 源代码?

© www.soinside.com 2019 - 2024. All rights reserved.