Su navegador no es capaz de visualizar correctamente esta página.


viernes, noviembre 20, 2009

Una de LinuX

Pues aquí va una de friqueo básico: Programar en C en Linux

Compilar y depurar programas en C en Linux

La madre de los compiladores es gcc, así que a instalarlo toca. Según la distribución que gastes se instala de una forma u otra, yo pondré para debians (ubuntus & friends) aunque para redhats (fedora) basta con cambiar aptitude por yum...

sudo aptitude install gcc

Si también quieres poder depurar instala el programa ddd:

sudo aptitude install ddd

Pues ya está todo... para compilar un programa puedes hacer:

gcc archivo.c

Esto dará como salida el ejecutable de la forma a.out. Como es feo tenerlo así, se puede poner:

gcc archivo.c -o nombre_del_ejecutable

Para ejecutar el programa basta con estar en su directorio y poner

./a.out

o si has hecho la segunda opción:

./nombre_del_ejecutable 

Para depurar programas se debe compilar con la opción -g:

gcc archivo.c -g -o nombre_del_ejecutable

Y luego abrir el ejecutable con ddd:

ddd nombre_del_ejecutable

Usar gEdit como entorno de programación

Mr Satanito ama a vim pero no todo el mundo comparte ese amor... los cabrones prefieren entornos gráficos. Uno ligero es el propio gedit que va por defecto con el entorno gráfico gnome. Para usarlo como compilador se le pueden añadir comandos que hagan las acciones que queremos: "compilar" y "compilar y depurar". Para ello abrir gedit y darle a Editar>Preferencias>Complementos>Marcar Herramientas externas. Ahora saldrá una opción nueva en el menú Herramientas>Gestionar herramientas externas. Ahora le damos a nueva (botoncico de abajo izq) y le ponemos el nombre que nos guste, para el compilar yo pondría Compilar C, vosotros quien sabe... Ahora se deja todo como estaba menos en el cuadro editar que pegamos:

#!/bin/bash
echo "Compilando $GEDIT_CURRENT_DOCUMENT_NAME ..."
gcc $GEDIT_CURRENT_DOCUMENT_NAME -o ${GEDIT_CURRENT_DOCUMENT_NAME%.*}
DESU=`echo ${GEDIT_CURRENT_DOCUMENT_NAME}|cut -d "." -f 1`

Si queremos la opción compilar y ejecutar poner:

#!/bin/bash
echo "Compilando $GEDIT_CURRENT_DOCUMENT_NAME ..."
gcc $GEDIT_CURRENT_DOCUMENT_NAME -o ${GEDIT_CURRENT_DOCUMENT_NAME%.*}
DESU=`echo ${GEDIT_CURRENT_DOCUMENT_NAME}|cut -d "." -f 1`
xterm -hold -e ./$DESU --working-directory=$GEDIT_CURRENT_DOCUMENT_DIR

Y si queremos la opción compilar y depurar poner:

#!/bin/bash
echo "Compilando $GEDIT_CURRENT_DOCUMENT_NAME ..."
gcc $GEDIT_CURRENT_DOCUMENT_NAME -g -o ${GEDIT_CURRENT_DOCUMENT_NAME%.*}
DESU=`echo ${GEDIT_CURRENT_DOCUMENT_NAME}|cut -d "." -f 1`
exec ddd $DESU

Si quereis añadirle accesos directos a cada opción se lo ponéis en el campo tecla rápida y listo, si no lo podéis ejecutar desde Herramientas>Herramientas Externas> El nombre que le hayáis dado.

No hay comentarios: