12 Último

Leyendo más fácilmente el código C o C++ de un proyecto grande.

      • 197
      • mensajes
      • miembro desde
      • 04/06/02
    11/06/2002
    #1 Leyendo más fácilmente el código C o C++ de un proyecto grande.

    Cada tanto leo en artículos o posts que la mejor forma de aprender C es leyendo el código de otros programas e intentar entenderlo... Esto no es más fácil de decir que de hacer, pero encontré una herramienta que puede ayudarnos a leer y entender el código fuente completo de cualquier proyecto por más grande que éste sea, incluso un kernel mismo... (¿me habré ido al carajo?)

    Esta herramienta se llama Doxygen y es un programa que está disponible para Linux, Windows y varios Unix'es:

    Pagina web: http://www.stack.nl/~dimitri/doxygen/index.html
    Download directo: http://www.stack.nl/~dimitri/doxygen...html#latestsrc

    Lo bueno de Doxygen es que transforma el código fuente en un HTML browseable, en el cual, por ejemplo, cada vez que se declara una variable de un tipo definido por el usuario, el tipo aparece como un link al archivo que lo define. Cada vez que encontremos un #include el mismo será un link al archivo incluído, y para cada función declarada por el programador tendremos una lista de referencias utilizadas y de funciones que a su vez, hacen referencia a la misma.

    Como ejemplo, un poryecto que utiliza Doxygen es el famoso rsync (un servicio/utilitario para sincronizar el contenido de dos discos en distintas máquinas).

    Acá pueden leer el archivo socket.c que rsync usa para sus conexiones. Cada referencia está linkeada a su archivo original:
    http://samba.anu.edu.au/rsync/doxyge...8c-source.html

    El resultado de ejecutar Doxygen en nuestros propios proyectos (o en cualquier proyecto de terceros) no va a ser muy distinto al ejemplo de rsync...

    Además, Doxygen nos va a permitir generar el output en distintos formatos, el más común va a ser HTML, pero tambien permite generar fuentes para archivos .CHM muy bien organizados (de acá surgió en principio la iniciativa de buscar el MS. HTML Help Workshop que nombré en Bajando libros y compilandolos en archivos CHM (ayuda de Windows)) además de que puede generar Man Pages, archivos LaTeX, etc, todo con infinidad de opciones.

    Nos vemos!

    Donatien.-

    PD: Yo no soy un programador avanzado en C ni C++, más bien principiante, pero quiero compartir todo lo que voy descubriendo porque si somos más los que investigamos juntos más va a ser lo que aprendamos.
    Lo que quiero decir con esto es que posteen recomendaciones a las herramientas más útiles que usen generalmente, así como yo comparto las mías también me gustaría conocer las de ustedes.

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    14 comentarios / 2255 Visitas

      • 197
      • mensajes
      • miembro desde
      • 04/06/02
    11/06/2002
    #2 Errata

    Ops, en el primer parrafo lease: "esto es más facil de decir que de hacer"...
    (me sobró un "no")

      • 8,950
      • mensajes
      • miembro desde
      • 25/09/01
    12/06/2002
    #3

    Che gracias, te estas re portando con las cosas sobre C que estas trayendo.

    • PoetaCamba
      Invitado
    16/06/2002
    #4

    muy buena! aunque te ayude mucho, leerse un kernel que son como 30 megas de codigo fuente o mas creo que te va a generar MUUUUUuuucho html

      • 8,950
      • mensajes
      • miembro desde
      • 25/09/01
    16/06/2002
    #5

    Jajaja, fijate que por internet hay kernels pasados a html asi... seguramente usaron ese soft porque a mano es una tortura

      • 1,354
      • mensajes
      • miembro desde
      • 28/01/02
    16/06/2002
    #6

    gracias por el post! Por cierto, que compilador/entonrno, etc están usando para Win?

    Yo estube buscando y conseguí el DevC++/mingw (gcc para win) y el lcc-win32. Alguien tiene experiencia con ellos?

    • PoetaCamba
      Invitado
    17/06/2002
    #7

    Yo uso Borland C++ 5.0, nomas por el entorno, porque ya esta viejito y no optimiza demasiado
    Para cosas mas grosas, ademas las compilo cuando termino en Visual C++6.0 para una mejor optimizacion speed/size

    Gratis tenes:
    Dev-C++: MUY bueno, Muy parecido al Borland C++ y tiene una onda KDE (de graficos), creo que usa la libreria GTK+. El entorno me copa por lo parecido al Borland, te podria decir que es 1000 veces mejor, pero tiene un punto en contra MUY pesado.
    El debugger. No es lindito, es... como un programa externo, que es feo y dificil de manejar, en cambio el Borland C++ ya es onda el Turbo C++, con algunos cambios de teclas, pero funciona muy parecido (F4 para jump to, F7 trace in, F8 trace normal...)

    lcc-win32: no te puedo decir nada, no me anda, corro el ejecutable y se cuelga el programa. Pero parece que es bueno, porque escuche hablar bastante de el

      • 8,950
      • mensajes
      • miembro desde
      • 25/09/01
    17/06/2002
    #8

    Comerciales:
    Visual C++ 6.0 (Mi preferido)
    Borland (Hay una version sin ide que se baja gratuita de la pagina de Borland)
    Gnu:
    Djgpp: Exelente, estilo Dos, basado en el gcc.
    Cygnus: Mejor todabia, y anda en windows perfecto. Ademas podes llegar a convinar los headers y librerias con el Visual Studio, funciona como una Api de Unix en Windows.

    Con esos 4 estas hecho.

    • PoetaCamba
      Invitado
    17/06/2002
    #9
    Publicado por qwerty

    Cygnus: Mejor todabia, y anda en windows perfecto. Ademas podes llegar a convinar los headers y librerias con el Visual Studio, funciona como una Api de Unix en Windows.
    Wow, esa no la tenia
      • 6,088
      • mensajes
      • miembro desde
      • 19/12/01
    17/06/2002
    #10

    gracais!

12 Último