Difference between revisions of "Compilación en Linux"

From Asociación de Robótica UC3M
Jump to navigation Jump to search
Line 41: Line 41:
  
 
[nota] Ponemos '''./''' para indicarle al sistema operativo que el programa se encuentra en "esta" carpeta (se indica con el punto).
 
[nota] Ponemos '''./''' para indicarle al sistema operativo que el programa se encuentra en "esta" carpeta (se indica con el punto).
 +
 +
Una forma sofisticada de compilar es mediante un Makefile, que puede realizar llamadas a ''gcc'' de forma eficiente y concurrente. Sin embargo, no deja de ser una solución no multiplataforma. Por ello te invitamos a que descubras CMake (véase [[Tutorial_CMake|el tutorial de CMake (ASROB)]]), una solución multiplataforma que genera Makefiles, proyectos para Windows, etc.

Revision as of 23:58, 26 February 2014

Tutorial 1: Hola, Mundo!

Vamos a hacer un "Hola, Mundo!" en C! (buscando por Google, etc se puede encontrar el origen de este nombre). Decimos que Linux, pero este ejemplo es muy orientado a Debian, Ubuntu y Mint.

Paso 1) Abrimos una consola.

Paso 2) Desde la consola, creamos un fichero (usaremos el editor de texto gedit):

gedit main.c

Paso 3) Copiamos estas líneas al fichero (es código fuente c!!!):

#include <stdio.h>

void main() {
    printf("Hola, Mundo!\n");
}

Paso 4) Pulsamos CTRL+s para guardar y CTRL+q para salir.

Paso 5) Ya de regreso en la terminal, instalamos el paquete básico de librerías estándar y compiladores:

sudo apt-get install build-essential

Paso 6) Compilamos el programa que hemos escrito:

gcc main.c

Paso 7) Por defecto, el nombre del ejecutable es a.out. Podemos ejecutar el programa:

./a.out

[nota] Ponemos ./ para indicarle al sistema operativo que el programa se encuentra en "esta" carpeta (se indica con el punto).

Una forma sofisticada de compilar es mediante un Makefile, que puede realizar llamadas a gcc de forma eficiente y concurrente. Sin embargo, no deja de ser una solución no multiplataforma. Por ello te invitamos a que descubras CMake (véase el tutorial de CMake (ASROB)), una solución multiplataforma que genera Makefiles, proyectos para Windows, etc.