我正在浏览驻留在/ usr / include中的glib头文件,以了解幕后发生的事情。我正在查看的所有文件只是声明了一堆宏和函数,但我想看一下这些函数的实现。
答案 0 :(得分:2)
glibc源代码库位于:
https://sourceware.org/git/?p=glibc.git;a=tree
请注意,有趣代码的很多位于sysdeps
目录下,尤其是sysdeps/unix/sysv/linux/*
。另外值得注意的是,stdio在stdio-common
和libio
之间分开,并且所有POSIX线程接口都在nptl
下实现(它也有自己的sysdeps
树。 / p>
此外,请注意,有很多功能根本找不到源代码。许多标准函数只是调用内核(syscalls)的入口点,这些包装器是在构建过程中自动生成的。
答案 1 :(得分:1)
GLibC中函数实现的可读形式包含在其源代码中,可从its website下载。
请注意,某些功能是委托给系统调用的存根,完整的实现将在您的操作系统的源代码中找到。