30

有时想在stdlib中查找函数的实现,我已经下载了源代码,但是很乱。

只是 greping 并不适合,因为点击量很多。

有谁知道有文档的网页 doxygen 样式。

linux内核也是如此。

谢谢

4

6 回答 6

21

您应该检查您的发行版是否使用香草 GLIBC 或 EGLIBC 分支(Debian 和 Ubuntu 已切换到 EGLIBC EDIT:他们在 2014 年左右切换回)。

无论如何,GLIBC 的存储库浏览器位于http://sourceware.org/git/?p=glibc.git

http://code.woboq.org/userspace/glibc/由@guruz 下面发布,是一个不错的选择。

由于存在相同文件的多个版本,源代码有点复杂。

于 2010-08-25T17:34:33.147 回答
8

对于 libc 文档怎么样?也许适用于内核?还有谷歌代码搜索;是一个示例搜索。

有关Google 代码搜索的更多信息您可以输入如下搜索查询:package:linux-2.6 malloc 以获取 linux-2.6 内核中对 malloc 的任何引用。

编辑:谷歌代码搜索现已关闭。但是您可以在http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git访问 git repo,它也有搜索功能。

于 2009-12-30T05:33:55.723 回答
6

你可以试试http://code.woboq.org/userspace/glibc/

它具有类似于 IDE 的漂亮导航/高亮显示。

在此处输入图像描述

于 2013-08-18T10:36:28.023 回答
3

为了帮助将源导航到 glibc,也许可以尝试ctagscscope之类的东西?

注意:每次看 glibc 源码我都会变笨,所以请小心!:)

于 2009-12-30T21:46:43.057 回答
1

如果您使用的是 GNU C (glibc),则函数(除了 GNU 扩展)在参数、实现、失败和返回值方面遵循POSIX 标准。如果您想深入了解静态成员,则必须查看代码。

每次尝试(我记得)尝试为 glibc 采用 Doxygen 之类的东西都被拒绝,原因如下:

  1. 冗余,POSIX 已经记录了几乎所有暴露的内容,以及手册和信息页面。
  2. 一开始工作太多
  3. 维护人员的更多工作

就内核而言,Linux 确实使用了一个与 Doxygen 非常相似的系统,称为Kerneldoc

于 2009-12-30T05:56:22.563 回答
1

您还可以从http://fossies.org/dox/glibc获取由 Doxygen 生成的实际文档。

于 2013-03-02T19:16:30.440 回答