Difference between revisions of "Compilación en Linux"

From Asociación de Robótica UC3M
Jump to navigation Jump to search
(Let's go in style)
 
(2 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
#include <stdio.h>
 
#include <stdio.h>
  
void main() {
+
void main()
 +
{
 
     printf("Hola, Mundo!\n");
 
     printf("Hola, Mundo!\n");
 
}
 
}
Line 34: Line 35:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Paso 7) Por defecto, el nombre del ejecutable es '''a.out'''. Podemos ejecutar el programa:
+
Paso 7) Por defecto, el nombre del ''ejecutable'' (sinónimo de "programa") es '''a.out'''. Podemos ejecutar el programa:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 44: Line 45:
 
== ¡Tengo problemas! ¿Qué hago? ==
 
== ¡Tengo problemas! ¿Qué hago? ==
  
* Quizás te pueda ayudar nuestro apartado de [Errores_frecuentes_en_la_compilación|errores frecuentes en la compilación (ASROB)].
+
* Quizás te pueda ayudar nuestro apartado de [[Errores_frecuentes_en_la_compilación|errores frecuentes en la compilación (ASROB)]].
  
 
== ¿Ahora qué puedo hacer? ==
 
== ¿Ahora qué puedo hacer? ==
  
 
* 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.
 
* 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.
 +
 +
* Crea un programa más complejo y súbelo a un repositorio [[SVN]] o [[Git]]!

Latest revision as of 19:21, 5 January 2020

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 de Linux.

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 (sinónimo de "programa") 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).

¡Tengo problemas! ¿Qué hago?

¿Ahora qué puedo hacer?

  • 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.
  • Crea un programa más complejo y súbelo a un repositorio SVN o Git!