Proceso de Compilación

3. Archivos creados

Durante los pasos para crear un ejecutable a partir de un Código fuente, se crean tres archivos.

En el primer capítulo se mencionó lo que se conoce como : Enlazado.

El proceso de creación de un archivo ejecutable sería:

 Figura 1

Se denomina Enlazado, al proceso de combinar el código binario obtenido a partir del Código fuente que hizo el programador, mas el código binario de otros programadores, por ejemplo, códigos de librerías, este tipo de enlazado pruede ser: Dinámico o Estático.

Enlace dinámico y estático.


Existen dos modos de realizar el enlace:
- estático: los binarios de las funciones se incorporan al código binario de nuestro ejecutable.
- dinámico: el código de las funciones permanece en la biblioteca; nuestro ejecutable cargará en memoria la biblioteca y ejecutará la parte de código correspondiente en el momento de correr el programa.
El enlazado dinámico permite crear un ejecutable más chico, pero requiere disponible el acceso a las bibliotecas en el momento de correr el programa.

El enlazado estático crea un programa autónomo, pero al precio de agrandar el tamaño del ejecutable binario.

Figura 2

Código Fuente : Lo que escribe el programador, en este caso  C++, podría se Python, java, etc.

Extensión de código fuente :  .cpp

Código Objeto: Lo que genera el Compilador son ceros y unos, es el lenguaje que entiende el microprocesador e incluye el código objeto que resulta de compilar el código fuente, mas el código objeto de librerías.

Extensión de archivo objeto :  .o

Ejectutable, es un archivo binario ( cero y uno) que puede ser cargado en la memoria de la maquina y que el procesador puede ejecutar.

En Windows las extensiones de los archivos ejecutables pueden ser: .com, .exe. .bat , .bin , entre otras tantas.

En Linux, no existe o no importa la extensión, se trata de otra manera. Los archivos tienen un atributo que se llama ejecutable. Si el archivo tiene el atributo ejecutable, se puede ejecutar... no depende de las extensiones.

Extensión ejecutable en Windows :  .exe