2009-12-30 11 views
28

A volte voglio cercare le implementazioni delle funzioni nello stdlib, ho scaricato il codice sorgente, ma è abbastanza disordinato.Dove posso navigare il codice sorgente per libc online (come doxygen)

Solo greping non è veramente adatto a causa dei numerosi colpi.

Qualcuno conosce uno stile doxygen della pagina Web con la documentazione.

Lo stesso vale per il kernel linux.

Grazie

+0

Grazie per le vostre risposte, ma forse non sono stato abbastanza chiaro. Non mi interessa l'api, voglio l'implementazione dell'api. L'attuale codice sorgente grazie – monkeyking

+0

scimmia, hai provato la mia risposta? La ricerca del codice Google include il codice sorgente completo. –

+0

Sì, grazie, la ricerca del codice google sembra fare ciò che voglio. – monkeyking

risposta

7

Come su this per la documentazione libc? E forse this per il kernel? C'è anche la ricerca del codice di Google; here è un esempio di ricerca.

Ulteriori informazioni su Google Code Search È possibile immettere query di ricerca come questa: pacchetto: linux-2.6 malloc per qualsiasi riferimento a malloc nel kernel linux-2.6.

Modifica: la ricerca del codice Google è stata disattivata. Ma è possibile accedere al repository git a http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git e ha anche la ricerca.

+7

Il collegamento Novell è rotto. –

+4

Questa risposta deve essere aggiornata. Purtroppo Google Code Search non è più disponibile. –

+0

Grazie, Jonathon, ho incluso un'alternativa. Sto ancora cercando un buon sostituto per libc .... –

1

Se si utilizza GNU C (glibc), le funzioni (oltre le estensioni GNU) seguono the POSIX standard per quanto riguarda i loro argomenti, implementazione, errori e valori di ritorno. Se vuoi dare un'occhiata ai membri statici, devi guardare il codice.

Ogni spinta (che io possa ricordare) per cercare di adottare qualcosa di simile Doxygen per glibc è stata respinta per i seguenti motivi:

  1. ridondanti, POSIX già documenti quasi tutto thats esposti, così come l'uomo e informazioni pagine.
  2. Troppo lavoro inizialmente
  3. Più lavoro per i manutentori

Per quanto riguarda il kernel va, Linux fa uso di un sistema molto simile a Doxygen chiamato Kerneldoc.

2

Per facilitare la navigazione tra source e glibc, forse provare qualcosa come ctags o cscope?

Nota: Divento più stupido ogni volta che guardo la sorgente di glibc, quindi fai attenzione! :)

17

È necessario verificare se la distribuzione utilizza il GLIBC vaniglia o la forcella EGLIBC (Debian e Ubuntu sono passati a EGLIBC).

In ogni caso, il browser repository per GLIBC è a http://sourceware.org/git/?p=glibc.git

La fonte è un po 'complicato dalla presenza di più versioni degli stessi file.

+1

Per EGLIBC: http://www.eglibc.org/cgi-bin/viewcvs.cgi/ – Jacopo

+0

Grazie per il collegamento a sourceware.org, in precedenza sources.redhat.com –

Problemi correlati