2009-12-30 11 views
28

Manchmal möchte ich die Implementierungen von Funktionen in der Stdlib nachschlagen, ich habe den Quellcode heruntergeladen, aber es ist ziemlich chaotisch.Wo kann ich den Quellcode für libc online durchsuchen (wie doxygen)

Einfach nur greping ist wegen der vielen Treffer nicht wirklich geeignet.

Kennt jemand eine Webseite doxygen Stil, der die Dokumentation hat.

Das gleiche gilt für den Linux-Kernel.

Dank

+0

Vielen Dank für Ihre Antworten, aber vielleicht war ich nicht klar genug. Ich bin nicht an der API interessiert, ich möchte die Umsetzung der API. Der eigentliche Quellcode danke – monkeyking

+0

monkeyking, hast du meine Antwort versucht? Die Google-Codesuche enthält den vollständigen Quellcode. –

+0

Ja danke, Google-Code-Suche scheint zu tun, was ich will. – monkeyking

Antwort

7

Wie wäre es this für libc-Dokumentation? Und vielleicht this für den Kernel? Es gibt auch Google Code Suche; here ist eine Beispielsuche.

Mehr über Sie können Suchanfragen wie folgt eingeben: package: linux-2.6 malloc für alle Verweise auf malloc im linux-2.6-Kernel.

Bearbeiten: Google Code Search ist jetzt heruntergefahren. Aber Sie können auf das Git Repo unter http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git zugreifen und es hat auch suchen.

+7

Der Novell-Link ist beschädigt. –

+4

Diese Antwort muss aktualisiert werden. Leider ist Google Code Search nicht mehr. –

+0

Danke, Jonathon, ich habe eine Alternative aufgenommen. Immer noch auf der Suche nach einem guten Ersatz für libc .... –

1

Wenn Sie GNU C (glibc) verwenden, folgen die Funktionen (über die GNU-Erweiterungen hinaus) the POSIX standard bis zu ihren Argumenten, Implementierung, Fehler und Rückgabewerte. Wenn Sie unter die Haube statischer Mitglieder schauen möchten, müssen Sie sich den Code anschauen.

Jeder Stoß (das ich mich erinnern kann) so etwas wie Doxygen für glibc zu versuchen und zu übernehmen wurde aus folgenden Gründen abgelehnt:

  1. Redundant, POSIX bereits Dokumente fast alles ausgesetzt thats, sowie Mann und Infos Seiten.
  2. Zu viel Arbeit zunächst
  3. Mehr Arbeit für Maintainer

Soweit der Kern geht, tut Linux ein System sehr ähnlich Doxygen Kerneldoc genannt verwenden.

2

Um die Quelle zu Glibc zu navigieren, versuchen Sie vielleicht etwas wie ctags oder cscope?

Hinweis: Ich bekomme jedes Mal dümmer, wenn ich auf die glibc-Quelle schaue, also sei bitte vorsichtig! :)

17

Sie sollten überprüfen, ob Ihre Distribution den Vanilla-GLIBC oder den EGLIBC-Fork verwendet (Debian und Ubuntu haben zu EGLIBC gewechselt).

Wie auch immer, ist das Repository Browser für GLIBC bei http://sourceware.org/git/?p=glibc.git

Die Quelle ein wenig durch das Vorhandensein mehrerer Versionen der gleichen Dateien kompliziert ist.

+1

Für EGLIBC: http://www.eglibc.org/cgi-bin/viewcvs.cgi/ – Jacopo

+0

Vielen Dank für den Link zu sourceware.org, ehemals sources.redhat.com –