对不起,我知道这是愚蠢的但linux libc源代码在哪里?我从GNU下载的内容似乎不是我想要的,特别是我在pthreads函数系列中找不到任何内容。
某处是否存在在线(高压交叉引用)版本?
大多数linux使用名为glibc
的libc版本。
用于glibc的LXR(在线交叉参考系统)例如是 这里http://koala.cs.pub.ro/lxr/glibc/为2.9版本 (链接坏了)。我必须说某些东西可能不是lxr'ed因为某些源是在构建过程中生成的,例如 - 我记得 - 系统调用的包装器。
Pthreads在nptl/
文件夹中。到libc源的正确链接是http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.bz2(或将2.14更改为您的版本)
更新:关闭考拉的lxr后,有:
UPD(2013年3月)他们再次杀死了codesearch:
404. That’s an error.
在此服务器上找不到请求的URL / codesearch。我们知道的就这些。
UPD 2017
有关glibc存储库的信息:http://sourceware.org/glibc/wiki/GlibcGit
克隆它以获得您自己的副本并搜索它,但是您喜欢:
git clone git://sourceware.org/git/glibc.git
我在IDE项目中加载它(使用任何首选的IDE),代码导航工作得很好,让我找到我感兴趣的东西。
如果您使用的是Debian派生系统,则可以使用apt-get source libc6
。这将解压缩当前工作目录中的eglibc-2.12.1
目录(当然版本号可能不同),并且pthreads支持位于下面的nptl/
目录中。如果您是考古学家,linuxthreads/
适合较旧的穿线风格。
试试FreeBSD and Linux Kernel Cross-Reference。
玩得开心 :)