在哪里可以找到所有 C 标准库的源代码?

Posted

技术标签:

【中文标题】在哪里可以找到所有 C 标准库的源代码?【英文标题】:Where can I find the source code for all the C standard libraries? 【发布时间】:2012-03-29 03:27:18 【问题描述】:

我正在寻找所有 C 标准库的完整源代码。也就是说,我正在寻找 stdio.h、stdlib.h、string.h、math.h 等的源代码……我想看看它们是如何创建的。我认为这取决于平台,但 Linux 或 Windows 将受到欢迎。

【问题讨论】:

你想要头文件(stdio.h)还是实现头文件的.lib和.dll文件的源代码? .h 文件不是“所有 C 标准库的完整源代码”,它们只是标题。那么你真正想要的是哪一个?头文件随您的 C 实现一起提供,但如果您的 C 实现不是开源的,则函数本身的定义可能对您不可用。即使它们可用,它们本身也可能不是很有指导意义,因为在某些情况下,标准库函数只是调用 OS 函数来完成所有工作。 你可能想要 GNU Libc gnu.org/software/libc 【参考方案1】:

如果您想要实际的实现,正如其他人认为您不想要的那样,许多 Linux 发行版目前使用 glibc 来实现 C 标准库。常见的替代方案包括musl libc、diet libc、uClibc 和 Bionic

【讨论】:

uClibc 说它的发布被搁置了,应该使用 uClibc-ng uclibc-ng.org【参考方案2】:

PJ Plauger 写了一封 book about the standard C library。包括来自(现已过时的)标准和源代码的参考。

【讨论】:

【参考方案3】:

Microsoft Visual Studio 通常在<InstallDir>\VC\include 下有系统头文件,如果安装了源,则在<InstallDir>\VC\crt\src 下。

【讨论】:

【参考方案4】:

无论是通过 IDE 安装还是您已显式安装,您都必须查看相应位置的目录“Include”。

例如:我使用 MinGW。所以,我会去

c:/MinGW/include 来查找那些头文件。同样,对于 IDE(比如 Dev-cpp),您需要转到 c:/dev-cpp/include。

【讨论】:

以上是关于在哪里可以找到所有 C 标准库的源代码?的主要内容,如果未能解决你的问题,请参考以下文章

OS X:可以查看标准 C 库的源代码吗?

求C语言标准函数库的源代码

C标准库中的函数定义在哪里?

在哪里可以找到当前的 C 或 C++ 标准文档?

在哪里可以找到 Android 设备驱动程序的源代码?

Windows 和 Linux 上动态库的 C++ 标准 [关闭]