studio reales proyectos para libro introducción incluye herramientas fuente español desarrollo código con avanzado aplicaciones c browser code-search-engine

reales - ¿Cuál es una buena herramienta para ayudar a explorar/seguir el código C?



libro de android studio en español pdf (27)

Apoyo el uso de doxygen .

Esta herramienta generó un javadoc como un montón de páginas html, lo que permite indexar todo el código, navegar en él (dónde se usa esta función y por qué función ...), como se puede hacer en un IDE. Es muy fácil hacerlo funcionar.

Una vez tuve que mantener 2000 archivos del código C de un proyecto C de 15 años. Me llevó una hora indexar el código con doxygen y proporcionar a los demás desarrolladores el documento generado. (Lo sé, esta frase suena como un complemento, pero es verdad ... Realmente es una buena herramienta)

Una herramienta maravillosa, que funciona en todos los lenguajes tipo C.

A veces necesito modificar el código OSS o el código de otras personas (normalmente basado en C, pero a veces C ++ / Java) y me encuentro con encabezados "grep" para tipos, declaraciones de funciones, etc. mientras sigo el flujo de código y trato de entender el sistema . Existe una buena herramienta que existe para ayudar en la exploración de código. Me encantaría poder hacer clic en un tipo y ser llevado a la declaración o hacer clic en el nombre de una función y ser llevado a su implementación. Estoy en un cuadro de Linux, por lo que las respuestas como "solo uso Visual Studio" no necesariamente me funcionarán. ¡Gracias!


Cualquier IDE funcionará bien. Netbeans y Eclipse están basados ​​en Java pero tienen complementos para C / C ++


Doxygen es maravilloso. Tuve que encontrar varias bases de código heredado en las que nunca antes estuve involucrado, y ha sido fantástico (aunque las bases de código no estaban documentadas con el formato Doxygen).


El Eclipse IDE es capaz de trabajar con C / C ++ además de Java. Existe un informe sobre cómo configurar Eclipse para el desarrollo de C / C ++ en el sitio de Developer Works de IBM.

editar: ¿Por qué se ha rechazado esto? Es una respuesta válida. Eclipse con el complemento C / C ++ le permitirá al autor de la pregunta hacer lo que quiere hacer. No soy el único que ha sugerido, pero los otros no han sido rechazados. Entonces, ¿por qué ha sido rechazado este?


Hago un poco en el espacio del kernel, y sigo volviendo al alcance.

Por ejemplo:

$ cd / usr / src / redhat / BUILD / kernel-version

$ cscope -R -p4

Find this C symbol: Find this function definition: Find functions called by this function: Find functions calling this function: Find this text string: Change this text string: Find this egrep pattern: Find this file: Find files #including this file:

Usualmente "vivo" en c-scope cuando trabajo en el proyecto de otra persona. Lo utilizo para abrir archivos con "gvim" (mi IDE), edito cosas, luego salgo "de regreso" a c-scope, me ayuda a mantener la tarea enfocada.

Creo que cscope se puede configurar para que funcione con vim y emacs, aunque también he visto personas que usan otros editores.

La mejor de las suertes para ti.


He tenido un gran éxito usando doxygen. Para obtener los mejores resultados (especialmente al crear documentación para c ++) instale graphviz y habilítelo en su archivo de configuración doxygen.

Esto generará automáticamente mapas de dependencia y diagramas de clases que están vinculados con el resto de la documentación html.


Incluso si no es un desarrollador, vaya a Source Insight

Y si lo eres, es a DEBE TENER :)


IntelliJ es bastante bueno como un navegador fuente bajo Linux. Tiene un buen soporte para saltar entre las declaraciones de fuente y función. No lo he intentado con el código C / C ++, pero funciona bien con Ruby y Java.


No lo he usado directamente, pero he usado sitios creados con lxr y me pareció muy útil. Convierte su proyecto en archivos HTML numerados en línea y con referencias cruzadas, usando enlaces a funciones de referencias cruzadas y nombres de archivos. Hay algunos ejemplos de fuentes de proyectos indexadas aquí .

No parece que haya una versión más nueva que 2006, pero aún puede funcionar para lo que desee.



Si estás buscando algo simple y ubicuo, prueba etags . No va a ser tan bueno como las herramientas de peso pesado, pero está en casi todo y funciona con emacs. Usa ctags para vi.


Yo uso Vim con ctags y taglist plugins. Puede mover el cursor a un nombre de variable y con una combinación de teclas lo llevará a la declaración de la variable (y viceversa). Taglist también mostrará una descripción general de todas las funciones, clases, etc. en una barra lateral.


Yo uso Anjuta IDE. No está mal. No estoy seguro de cómo se compara con Eclipse IDE.


Yo uso el Entendimiento para C ++ . Es una herramienta muy útil para manejar grandes cantidades de código. También puede calcular estadísticas de códigos y dibujar gráficos de llamadas. ¡Debe tener!


Yo uso kscope, que usa cscope en segundo plano, pero también proporciona listas de funciones, etc. Parece que maneja bien proyectos grandes como el kernel de Linux. La página de inicio de kscope tiene una buena descripción concisa de lo que hace y lo que no hace.


cscope siempre ha sido mi favorito. También hay cbrowser, pero no lo he probado. ctags también se usa mucho.


ctags es muy útil. Hay dos pasos involucrados. Primero ejecute los códigos de programa en todos sus directorios fuente e incluya. Esto crea un archivo llamado ''etiquetas'' en el directorio local. ctags * .c * .h funcionaría bien si toda su fuente está en un único directorio. Cuando trabaja con el origen en múltiples directorios, puede valer la pena ejecutar ctags en múltiples ubicaciones. Luego, dentro de vi, con su cursor sobre cualquier función, tipo definido o variable, use ctl-] para ir a la definición de esa entidad. Usa etags si estás usando emacs.


Doxygen puede generar un conjunto de páginas web que incluyen un navegador de origen. No es tan elegante como un IDE, pero todo lo que necesita es un navegador web.



cscope. (quería modificar otra publicación de alcance, pero todavía no tengo karma).

  • búsqueda global y reemplazar
  • encontrar todos los lugares se llama una función
  • encontrar todos los lugares llamados por una función
  • encontrar archivos que incluyen este archivo.

uso realmente simple: $ cscope -R

si no conoce vi, cambie sus variables de entorno EDITOR y VISOR a su editor preferido.


Encuentro ID Utils bastante útil. Es como un grep recursivo instantáneo. Hay muchas recetas vim para acompañarlo.


Uso y me gusta la herramienta de software gratuita GNU global .


Vaya a Doxygen y establezca EXTRACT_ALL en YES. Es simplemente poderoso y fácil. Una vez que lo ames, puedes mantenerlo en todas las plataformas e idiomas.

http://www.doxygen.org


Se puede encontrar un motor de búsqueda de código fuente sensible al idioma en SD Source Code Search Engine . Puede manejar muchos idiomas al mismo tiempo. Las búsquedas se pueden realizar para patrones en un idioma específico o patrones en todos los idiomas (como "encontrar identificadores que impliquen impuestos"). Al ser sensible a los tokens de idioma, la cantidad de falsos positivos se reduce, lo que permite ahorrar tiempo al usuario. Comprende C, C ++, C #, COBOL, Java, ECMAScript, Java, XML, Verilog, VHDL y varios otros idiomas.


Yo uso Source-Navigator (TM) desde aquí . Es bastante impresionante y ayuda mucho. Está escrito en Tcl / Tk, está disponible como un ejecutable para Windows y como código fuente listo para compilar en * nix.


Si está involucrado en proyectos que tienen una combinación de código HLL junto con Assembly, recomiendo Opengrok, recientemente cambié a Opengrok y lo encuentro increíble, Opengrok + Firefox + Extensions es la mejor combinación en mi opinión, algunas extensiones de Firefox como Scrapbook, etc., le permiten modificar y agregar notas mientras navega por el código, de nuevo, esto es principalmente para ''navegar'' a través del código y no para modificarlo sobre la marcha.


He escuchado cosas increíbles sobre OpenGrok . Sé que otro equipo en mi lugar de trabajo lo usa y lo encuentran muy a mano. Desde su sitio web:

OpenGrok es un motor de búsqueda y referencia cruzada rápido y utilizable. Le ayuda a buscar, hacer referencias cruzadas y navegar su árbol fuente. Puede comprender varios formatos de archivo de programa y historiales de control de versiones como Mercurial, Git, SCCS, RCS, CVS, Subversion, Teamware, ClearCase, Perforce y Bazar. En otras palabras, le permite asimilar (entender profundamente) la fuente abierta, de ahí el nombre OpenGrok. Está escrito en Java.