Programación en C/Compilar un programa

De Wikilibros, la colección de libros de texto de contenido libre.
Saltar a: navegación, buscar
← Primer programa en C Compilar un programa


Pre-requisitos para la compilación de programas[editar]

Como ya se mencionó, será necesario tener instalado el compilador y un editor o entorno de desarrollo que permitan escribir el código a compilar. Para más información ver la sección Herramientas necesarias.

El código a compilar debe guardarse con un nombre que represente al programa en cuestión y la extensión .c. En el caso del ejemplo del Hola mundo, el archivo puede llamarse hola.c.

En las explicaciones a continuación, se asume que se cuenta con un compilador instalado y se ha editado un archivo hola.c que se quiere compilar. Si tu sistema operativo no aparece en esta lista busca en internet, ya que seguro que existe algún compilador para ese sistema.

Compilación de programas según la plataforma[editar]

Windows[editar]

Para compilar un programa C en entornos Windows, debemos seguir una serie de pasos que varían según el compilador de C que queramos utilizar. Antes que nada, sería bueno que se revises la documentación del compilador elegido para conocer los comandos exactos.

Compilación del código fuente[editar]

Si se utiliza un entorno de desarrollo, será posible compilar directamente desde el entorno, mediante un botón o una combinación de teclas.

Si se ejecuta el compilador desde la línea de comandos, la línea será distinta según el compilador utilizado. A continuación algunos ejemplos de ciertos comandos según el compilador:

  • En Turbo C de Borland es: tcc hola.c
  • En C++ de Borland: bcc hola.c
  • En Visual C de Microsoft: cl hola.c
  • En GNU gcc: gcc hola.c o cc hola.c
  • El C de Zortech: ztc hola.c

Una vez compilado el código fuente se genera un archivo llamado archivo objeto o programa objeto que es luego enlazado mediante el enlazador, para generar el archivo ejecutable.

Los compiladores actuales suelen hacer dos funciones de una vez, compilando y enlazando todo en una sola función, aunque es posible pedirles que no lo hagan mediante parámetros adicionales.

Según el compilador y la configuración utilizada, se obtendrán dos o tres archivos:

El archivo fuente

  hola.c

El archivo objeto

  hola.obj

El archivo ejecutable

  hola.exe

Este último es el que nos interesa, puesto a que es el código ejecutable, el programa en sí. Al ejecutarlo se producirá la salida deseada en una ventana de consola.

Salida por pantalla[editar]

Si ejecutamos en entorno Windows el programa directamente desde el navegador de archivos, o también desde algunos entornos de desarrollo, lo que sucederá será que apenas abierta la ventana de la consola, se mostrará la cadena esperada y luego de terminada la función, la consola se cerrará sin tener el tiempo suficiente de ver nuestro mensaje en pantalla.

Para poder ver la salida por pantalla será necesario ejecutar el programa desde la línea de comandos, o modificar la configuración del entorno de desarrollo para que muestre la salida por pantalla al ejecutar el programa.

Una posible solución es agregar una función adicional a nuestro "hola.c":

/* Inclusión de archivos */
#include <stdio.h>
#include <stdlib.h>
 
/* Función principal */
int main (int argc,char **argv)
{
   /* Impresión por pantalla y salida del programa*/
   printf("Hola mundo\n");
   system ("pause");
   return 0;
}

Las dos líneas agregadas permiten que utilicemos la biblioteca stdlib, que incluye la función system y que mediante esta función se ejecute el comando pause del sistema, que evita que el programa siga hasta que se presione una tecla.

Así es posible visualizar que la salida de hola.c se completó perfectamente.


Linux[editar]

Si bien existen otros compiladores, lo más usual y más sencillo para compilar un programa en GNU/Linux es el compilador gcc, ya que es el que se incluye en todas las distribuciones.

De cualquier forma, es posible realizar la compilación desde línea de comandos o desde el entorno gráfico.

Para realizarla desde línea de comandos, será necesario contar con una terminal (xterm, konsole, gnome-terminal, etc). No es necesario contar con permisos de root para crear o compilar programas. En esa terminal será necesario escribir

gcc hola.c

Si no existen errores en el código, este comando nos creará un archivo ejecutable, que por omisión se llama "a.out", y que podemos ejecutar desde la línea de comandos de la siguiente forma:

./a.out
Hola mundo 

Es una buena idea especificar el nombre que el archivo ejecutable tendrá, pasando como parámetro al compilador la opción -o, de la siguiente forma:

gcc hola.c -o hola

Con lo cual, el nombre del archivo creado será hola. Este archivo no tiene extensión ya que es la forma usual de llamar a los archivos ejecutables en los entornos UNIX y GNU/Linux, sin embargo funcionaría de la misma forma si se llamara hola.exe.

Para ejecutarlo, haremos los mismo que en el caso anterior:

./hola
Hola mundo 

Existen otros parámetros que podemos especificar al compilador en la línea de comandos, dependiendo del tipo de programa, y en función de la complejidad del mismo. Por ejemplo, podemos agregar las siguientes opciones:

gcc hola.c -o hola -Wall -pedantic

La opción -Wall nos mostrará todos los avisos que produzca el compilador, no solamente los errores. Los avisos nos indican dónde y/o porqué podría surgir algún error en nuestro programa.

La opción -pedantic nos aporta más información sobre los errores y los avisos mostrados por GCC.


← Primer programa en C Compilar un programa