2009-12-30 13 views
28

A veces quiero buscar las implementaciones de funciones en el stdlib, he descargado el código fuente, pero es bastante complicado.¿Dónde puedo navegar por el código fuente de libc en línea (como doxygen)

Simplemente greping no es realmente adecuado debido a los muchos golpes.

¿Alguien sabe un estilo doxygen página web que tiene la documentación.

Lo mismo ocurre con el kernel de Linux.

Gracias

+0

Gracias por sus respuestas, pero quizás no era lo suficientemente clara. No estoy interesado en la API, quiero la implementación de la API. El código fuente real gracias – monkeyking

+0

monkeyking, ¿has probado mi respuesta? La búsqueda en Google Code incluye el código fuente completo. –

+0

Sí, gracias, la búsqueda de código de google parece hacer lo que quiero. – monkeyking

Respuesta

7

¿Qué tal this para la documentación libc? Y tal vez this para el kernel? También hay búsqueda de Google Code; here es una búsqueda de ejemplo.

Más sobre Google Code Search Puede introducir consultas de búsqueda como esta: package: linux-2.6 malloc para cualquier referencia a malloc en el núcleo de linux-2.6.

Editar: La búsqueda de Google Code se ha desactivado. Pero puede acceder al repositorio de git al http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git y también tiene búsqueda.

+7

El enlace de Novell está roto. –

+4

Esta respuesta necesita una actualización. Lamentablemente, Google Code Search ya no está disponible. –

+0

Gracias, Jonathon, he incluido una alternativa. Todavía estoy buscando un buen reemplazo para libc .... –

1

Si está utilizando GNU C (glibc), las funciones (más allá de las extensiones de GNU) siguen the POSIX standard en cuanto a sus argumentos, implementación, falla y valores devueltos. Si quieres echar un vistazo bajo el capó de los miembros estáticos, tendrás que mirar el código.

Cada empuje (que yo recuerde) para tratar de adoptar algo así como Doxygen para glibc fue rechazada por las siguientes razones:

  1. redundantes, POSIX ya documentos casi Todo lo que nesecita expuestos, así como el hombre y la información páginas.
  2. Demasiado trabajo inicialmente
  3. Más trabajo para los mantenedores

En lo que va del núcleo, Linux hace uso de un sistema muy similar al Doxygen llamada Kerneldoc.

2

Para ayudar a navegar la fuente a glibc, quizás intente algo como ctags o cscope?

Nota: Me vuelvo más tonto cada vez que miro la fuente de glibc, así que tenga cuidado! :)

17

Debería comprobar si su distribución está utilizando la vanilla GLIBC o la horquilla EGLIBC (Debian y Ubuntu han cambiado a EGLIBC).

De todos modos, el navegador de repositorios para GLIBC está en http://sourceware.org/git/?p=glibc.git

la fuente es un poco complicado por la presencia de múltiples versiones de los mismos archivos.

+1

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

+0

Gracias por el enlace a sourceware.org, anteriormente sources.redhat.com –

Cuestiones relacionadas