Programación en C/Cómo compilar un programa

La palabra compilar significa traducir un código de programación a codigo ejecutable por la máquina. Para compilar un codigo fuente y convertirlo en ejecutable hay distintas formas dependiendo del compilador que se utilice. Entre estos compiladores, uno de los más famosos es GCC (GNU Compiler Collection) el cual trae soporte para diversos lenguajes (C, C++, Ada, Java, etc). Su fama y buen desempeño van ligados con la gratuidad con la cual se distribuye.

Un ejemplo simple para compilar un programa con gcc:

gcc -o ouput input.c

Lo cual dara como resultado un binario con el nombre "ouput". Gcc además trae varias "flags" de optimización las cuales permiten sacarle mayor desempeño a los binarios en un tipo de máquina predeterminada.

Un poco más sobre compilación

[Volver al índice general]

Hasta ahora hemos compilado los programas mediante la orden:

$ gcc [nombre].c
$

y los ejecutábamos mediante la orden

$ ./a.out
<resultado>
$

Ello se debe a que los compiladores de C, en general, y gcc, en particular, crean un ejecutable de nombre a.out en el directorio actual si no se les especifica otra cosa. ./a.out es la manera de ejecutar ese archivo. Pero es en general más cómodo nombrar los archivos ejecutables a partir de los archivos fuente de los que vienen. Para ello con gcc utilizamos el modificador -o [nombre], con lo que las dos compilaciones que hemos visto hasta ahora podrían quedar así:

$ gcc -o holamundo holamundo.c
$ gcc -o ejemplo ejemplo.c
$

y los ejecutaríamos correspondientemente:

$ ./holamundo
Hola Mundo
$ ./ejemplo
Resultado de la suma: 7
Resultado de la resta: 3
Resultado de la multiplicación: 10
Resultado de la división: 2
$

[Volver al índice general] [Anterior: El "Hola Mundo"] [Siguiente: Instrucciones de control] [Arriba]

--Envite 01:54 10 dic, 2004 (UTC)

This page is based on a Wikipedia article written by contributors (read/edit). Text is available under the CC BY-SA 4.0 license; additional terms may apply. Images, videos and audio are available under their respective licenses. Cover photo is available under CC BY 2.0 license.