在哪里可以找到所有 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 标准库的源代码?的主要内容,如果未能解决你的问题,请参考以下文章