【问题标题】:Where can I browse the sourcecode for libc online (like doxygen)我在哪里可以在线浏览 libc 的源代码(如 doxygen)
【发布时间】:2010-12-31 00:20:45
【问题描述】:

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

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

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

Linux 内核也是如此。

谢谢

【问题讨论】:

  • 感谢您的回复,但也许我不够清楚。我对api不感兴趣,我想要api的实现。实际源码谢谢
  • 猴王,你试过我的回答了吗? Google 代码搜索包含完整的源代码。
  • 是的,谢谢,谷歌代码搜索似乎可以满足我的需求。

标签: documentation kernel libc


【解决方案1】:

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

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

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

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

【讨论】:

  • 感谢您提供指向 sourceware.org(以前称为 sources.redhat.com)的链接
【解决方案2】:

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

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

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

【讨论】:

  • Novell 链接已损坏。
  • 这个答案需要更新。不幸的是,谷歌代码搜索也不再是。
  • 谢谢,乔纳森,我已经提供了一个替代方案。仍在寻找 libc 的良好替代品....
  • @jacopo 回答提供了 git repo 浏览器的链接。
  • 我有点困惑。 Malloc 不应在内核中引用。如果我知道的话,可以使用 kmalloc 或 vmalloc。
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

    为了帮助将源导航到 glibc,不妨试试ctagscscope

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

    【讨论】:

      【解决方案5】:

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

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

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-31
          • 1970-01-01
          • 2023-03-10
          • 2011-10-21
          • 1970-01-01
          • 2016-04-04
          • 2019-06-03
          • 1970-01-01
          相关资源
          最近更新 更多