Ejemplo práctico de las fases de compilación en un lenguaje de programación
1. Compilación
En Linux llamamos directamente a gcc (-W y –Wall permiten mostrar más mensajes para verificar si el código es “limpio”, -o ejemplo.exe indica que el ejecutable que será creado debe llamarse ejemplo.exe):
gcc – W – Wall –o ejemplo.exe ejemplo.c
Implícitamente el compilador hace tres etapas (preprocesado, compilación y enlazado).
1) El preprocesado/*Todo lo que es definido por
int main(){
printf(“ejemplo!\n»);
return 0;
}
———————————————————————————-
2) Compilación
Encuentra sin problemas printf ya que éste es declarado en
3) Enlazado
Encuentra sin problemas printf en el binario de la lib c. También lo
podemos verificar bajo linux con ldd:
ldd ejemplo.exe
Lo que da:
linux-gate.so.1 => (0xbtf2b000)
libc.so.6 => /lib/i686/cmov/livc.so.6 (0xb7dbb000)
/lib/ld-linux.so.2 (0xb7f2c000)
– En la segunda línea podemos ver que utiliza la lib c.
Luego crea ejemplo.exe
Por otra parte comprobamos que no hay error ni warning.
———————————————————————————
2. Ejecución
Tan solo queda ejecutarlo:
./ejemplo.exe
Lo que da como resultado:
——————————————————————————–
ejemplo !
——————————————————————————–
Fuente: Apuntes de Informática VII de la FCA de la UNAM