在哪里找到stdio.h函数实现?

时间:2011-03-08 14:05:03

标签: c

我研究C并且我注意到我找不到某些头文件的实现文件,例如stdio.h,它是一个包含许多输入/输出函数的库,如{{1 }}。我在哪里可以找到它的实现?

5 个答案:

答案 0 :(得分:26)

下载以下其中一项:

或者,更好的是,下载其中的几个并比较它们的实现。当然,与您的特定标准库实现相比,这些可能会做很多不同的事情,但对于例如非特定于平台的功能,例如sprintf。

答案 1 :(得分:7)

您需要找到像glibc这样的C标准库的源代码:http://www.gnu.org/s/libc/

您可以在此处下载资源:http://ftp.gnu.org/gnu/glibc/ 它包含所有库函数的源。

答案 2 :(得分:6)

例如here。 Google是您的朋友 - 只需搜索stdio.c即可。但请注意,您应该将这些视为“许多可能的实现” - 您不知道编译器是如何通过阅读这些实现的,您只需了解它是如何完成的。

答案 3 :(得分:3)

在Ubuntu或其他使用aptitude进行包管理的操作系统上,您可以使用:

apt-get source libc6

例如。

此外,以详细模式运行gcc将告诉您它正在使用的路径的详细信息。这应该可以帮助您找到它正在使用的包含和库路径。

gcc -v

gcc -Wl,--verbose

答案 4 :(得分:2)

如果您安装了Windows SDK,则可以选择包含标准库源代码,这样您也可以看到它在Windows上的实现方式。