2012-08-14 11 views
7

Tengo experiencia en el uso de Visual Studio hasta ahora. Pero tengo la intención de utilizar algunas herramientas de Linux para desarrollar y mantener aplicaciones que están escritas en C.Herramientas y comandos importantes y útiles al desarrollar aplicaciones C en Linux

Fui a través de este question pero habla demasiado sobre los IDE. Me complace usarlos, pero quería saber qué otras herramientas son útiles e importantes para el ejercicio anterior. También me gustaría saber en caso de que haya algún comando que facilite las cosas. ¡Gracias!

EDITAR: He usado vim y estoy familiarizado con gcc y sus banderas importantes. cualquier cosa más ayudaría.

+0

Sopesando si esta pregunta era más para la wiki de la comunidad. –

Respuesta

11

Querrá familiarizarse con las herramientas de línea de comandos de Linux. En particular:

  • aprender un buen editor como vim o emacs
  • Guión su construye utilizando make
  • Compilar utilizando gcc
  • depuración utilizando el control gdb
  • Fuente: si usted tiene el lujo de elegir uno, recomiendo un DVCS moderno como git o mercurial. De lo contrario, cualquier herramienta que su equipo ya esté utilizando debería estar bien.

Esto solo araña la superficie de lo esencial, pero puede ayudarlo a comenzar.


Estas herramientas también son muy útiles:

  • grep - Se necesita una buena manera de buscar a través de archivos de origen. Este comando está integrado con vim y emacs (?) Por lo que probablemente querrá usarlo directamente de su editor en la mayoría de los casos.
  • ctags - Como otros han dicho, esto hará que sea mucho más más fácil de navegar a través de su código fuente de su editor. Nuevamente, consulte a su editor para saber exactamente cómo trabajar con ctags.
  • valgrind - Para encontrar pérdidas de memoria en su aplicación.
  • lint - Una herramienta de análisis estático como splint para encontrar errores de codificación en su código C.
  • rpm u otro sistema de envasado - Dependiendo de cómo va a implementar la aplicación, es posible que desee utilizar un gestor de paquetes para ayudar con el control de versiones, instalar/actualizar los scripts, etc.
  • screen - Un multiplexor de terminal permite dividir su terminal para que pueda (por ejemplo) ver su código fuente en un panel y depurar/ejecutar/buscar registros en otro. Esto también es útil si tiene que conectarse a cualquier máquina remota que soporte, ya que si se desconecta puede volver a conectarse a la sesión de su pantalla remota más tarde, sin tener que preocuparse de que se cancelen todos sus comandos. Por ejemplo, si se encuentra en el medio de un yum update, no tiene que preocuparse de que se termine a mitad de la transacción solo porque su conexión se cortó.
  • ssh/sftp/etc - Para copiar de forma segura los archivos en las máquinas de prueba/producción, si es necesario.
+0

¡sí, gracias! He usado vim y estoy familiarizado con gcc y sus banderas importantes. cualquier cosa más ayudaría. ¡Gracias! – Shash

+0

@Shash - No hay problema, agregué algunas herramientas más para usted :) –

+1

+1 para 'pantalla' (y +1 nuevamente para' ssh') – pmg

1

Necesita ser capaz de encontrar cosas en su base de código, y por eso lo recomiendo:

  1. ack. Es como una combinación de find/grep, pero mucho más fácil de usar, mucho más útil y orientado directamente hacia los programadores.
  2. ctags. Se le ayudará a navegar a través de su base de código a través de su editor (vi/emacs etc.) de una manera asimilar a los IDE (tratamiento de código como un conjunto de hipervínculos)
2

Usando terminador para múltiples términos y el interruptor fácil durante el uso de processus o htop.

recomiendo emacs (-nw) o vi

gcc para compilar el código C.

También desea utilizar GDB para la depuración.

Valgrind para comprobar fugas y la memoria volcado

6

Estas herramientas son útiles en el desarrollo en C bajo Linux:

  1. IDE: Vim con solarized tema (http://ethanschoonover.com/). Ctgas y Taglist para navegar fácilmente a través de su código (http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourece-code-browser/)
  2. Para compilar y dubugging gcc, gdb, make
  3. Para grandes proyectos: AUTOCONF, AUTOMAKE y LIBTOOL
  4. para comprobar si hay toda la materia relacionada con la memoria: Valgrind Para comprobar las funciones de consumo de tiempo de la CPU Callgrind (http://valgrind.org/info/tools.html) Y a nivel mundial Valgrind's Tool Suite (http://valgrind.org/info/tools.html) es una gran herramienta
  5. Para el código de alta calidad: GNU gcov (Cobertura de la prueba), esto es un gran artículo sobre las pruebas de código y el código C de alta calidad (http://aleccolocco.blogspot.fr/2009/08/sqlite-lesson-in-low-defect-software.html)
  6. GNU locate: Para encontrar fácilmente todos los archivos
  7. Git para la configuración del código fuente
  8. Doxygen : para generar la documentación para el código
  9. Si desarrolla programas de la red: wireshrak, tcpdump
  10. navegar a través esaily código del núcleo con LXR (http://lxr.linux.no) (http://www.ittc.ku.edu/~niehaus/classes/800-s04/notes/setup_lxr.txt)
  11. Strace de rastrear las llamadas del sistema (Siempre es una buena herramienta para depurar programas que los archivos de configuración abierta)

MAN PAGES es la mejor herramienta

Y un montón de otras cosas buenas: -

+0

excelente lista ... ¡Gracias! – Shash

Cuestiones relacionadas