【问题标题】:Where can I find the source code for all the C standard libraries?在哪里可以找到所有 C 标准库的源代码?
【发布时间】: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

标签: c linux


【解决方案1】:

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

【讨论】:

  • 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。

      【讨论】:

        猜你喜欢
        • 2012-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-24
        相关资源
        最近更新 更多