Voy a iniciar una serie de artículos sobre la compilación de programas en C con gcc. Esta serie de artículos estará centrada en la compilación en Linux.
NOTA: Si usas Ubuntu y no encuentras gcc en tu sistema echa un vistazo aquí.
Para el ejemplo vamos a usar el siguiente sencillo programa:
1 2 3 4 5 6 7 8 |
/* primero.c - Una versión del típico hola mundo */ #include <stdio.h> int main() { printf("Compilado con GCC\n"); return 0; } |
Para compilar este sencillísimo programa basta con ejecutar la orden:
1 |
gcc -o primero primero.c |
donde:
-o primero: la opción -o nos permite especificar el nombre del ejecutable que se va a generar. Si no especificamos nada el nombre que se genera por defecto es a.out.
primero.c: el fichero que contiene el código fuente del programa.
Compilando con dos ficheros fuente
Ahora supongamos que tenemos dos ficheros fuente:
primero.c:
1 2 3 4 5 6 7 8 |
#include <stdio.h> int main() { printf("Compilado con GCC\n"); segundo(); return 0; } |
segundo.c:
1 2 3 4 5 6 |
#include <stdio.h> int segundo() { printf("Función segundo\n"); } |
Si probamos la orden anterior tendremos el un resultado similar a éste:
1 2 |
/tmp/ccuAuHGn.o: In function `main': primero.c:(.text+0x1e): undefined reference to `segundo' |
La forma correcta de compilar en este caso sería:
1 |
gcc -o primero primero.c segundo.c |
Y si lo ejecutamos:
1 2 |
Compilado con GCC Función segundo |
Todo muy sencillito hasta ahora. En la próxima entrega veremos cómo compilar nuestro programa con librerías adicionales.
—
Oye, tu idea es muy buena pero quiero saber si continuaste haciendo los demás artículos y por supuesto saber donde los tienes.
Gracias