Extras

Compilación y ejecución de programas en C desde terminal

Como compilar y correr un programa desde la terminal

Compilar y correr un programa desde la terminal

Introducción

En este tutorial se mostrará como compilar desde la terminal de GNU/Linux. Esto resulta útil para cuando no se dispone de un IDE (Integrated Development Environment) para programar. Ubuntu nos permite compilar, enlazar y correr el programa desde la misma terminal! :D
Para ello utilizaremos GCC. La sigla GCC significa "GNU Compiler Collection". Originalmente significaba "GNU C Compiler"

Paso 1
Crear el archivo .c

Debemos crearlo en una carpeta que contendrá los archivos fuente .c para luego compilarlos (Esto es para ser mas ordenado).
Podemos utilizar cualquier editor de texto, para este caso usaremos Gedit (Buscar Gedit en los programas y lanzarlo)

Aquí debemos escribir el programa como normalmente haríamos. Como podemos ver en la imágen anterior no tiene colores... Esto es debido a que no está guardado. Debemos guardar el archivo en una carpeta ( Para el tutorial utilizaremos programas_info1 en el Escritorio) y no olvidarse de colocar la extensión .c En este caso se llamará "ejemplo.c"
Como podemos ver, luego de guardar, el programa aparece con colores.

Paso 2
Ir a la carpeta donde están nuestros programas

Esta carpeta contendrá los archivos fuente .c para luego compilarlos.
Abrimos una terminal, en Linux Ctrl+Alt+t (la terminal puede variar entre computadora y computadora).

Para este tutorial, los programas estarán en ~/Escritorio/programas_info1
En la terminal escribimos:

cd ~/Escritorio/programas_info1
ls
                                    

El comando cd cambia de directorio y ls lista los archivos que tengamos en la ruta actual

Como podemos ver aparece el programa que creamos anteriormente, señal de que vamos en buen camino :D

Paso 3
Compilar y correr el programa

Por último, falta compilar el programa y ejecutarlo
En la misma terminal que tenemos abierta, tenemos que escribir lo siguiente (pueden copiar y pegar desde el explorador a la terminal):

clear && gcc -Wall -pedantic-errors -std=c90 ejemplo.c -o salida.o && ./salida.o
                                      
Presionamos enter
En este caso, la compilación terminó con éxito y el programa corrió correctamente como puede verse en la imágen anterior

Paso 4
Corregir errores

Ahora simularemos un ejemplo de programa con errores, para interpretar la salida y ver mas o menos donde puede estar el error
Crearemos un programa "mal_ejemplo.c" idéntico a "ejemplo.c" pero en este caso no colocaremos el punto y coma al final del printf.

En la terminal corremos ahora:
clear && gcc -Wall -pedantic-errors -std=c90 mal_ejemplo.c -o salida.o && ./salida.o
                                      
Como podemos ver, se genera un error.
El error dice que se espera un ; antes que "return". El compilador no es muy elegante en ciertas ocasiones para presentar los errores, pero con la práctica se llega a dominarlo. En este caso el error dice que es en la línea 8 "mal_ejemplo.c:8:1: error", pero en realidad el punto y coma va al final del printf (pero como está antes que el "return" el compilador está en lo correcto)
Agregando el ; el programa compila y corre normalmente.

Paso 5
Fin :D