El preprocesador
Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las transformaciones incluyen:
- Eliminar los comentarios.
- Incluir en el fuente el contenido de los ficheros declarados con #include <fichero> (a estos ficheros se les suele llamar cabeceras)
- Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100)
El compilador
Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina: fichero objeto.
Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.
El enlazador
Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios.
El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos y de las bibliotecas.
Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama (por ejemplo printf).
he aqui un ejemplo de un codigo desarrollado en c++:
#include <stdio.h>
#include <conio.h>
void main ()
{
clrscr();
int numero,sum_dig=0 ;
printf("inserte un numero de 3 digitos: "); scanf("%d",&numero) ;
if (numero>=100)
{
int num=numero;//salvamos en num,la variable numero
while (numero!=0)
{
sum_dig=sum_dig+(numero%10);//para sacar el ultimo digito de numero
numero=numero/10;//elimina el ultimo digito de numero
}
printf("la suma de los digios de %d es: %d",num,sum_dig);
}
else
printf("a ERROR:el digito no tiene 3 digitos");
getch();
}
|