Funcion compiladores en c

Solo disponible en BuenasTareas
  • Páginas : 2 (296 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de marzo de 2011
Leer documento completo
Vista previa del texto
LENGUAJES DE PROGRAMACION DE HARDWARE
Estructura para c:
* Esta formado exclusivamente por funciones independientes.
* Consta de uno o varios ficheros fuente los cuales tienen laextensión .c, los cuales se denominan como ¨módulos¨, los cuales contienen una función principal.
* Código c
Preprocesador
Funciones externas pueden ser llamadas por medio de las librerías, lascuales tienen una extensión .h (las cuales se pueden llamar encabezados por la extensión en ingles Header).

Compilador

Ensamblador

Linker

Fases
Preprocesador: El código C se pasa primeropor esta etapa, la cual se encarga de interpretar y ejecutar todas las directivas u operaciones de preprocesador como por ejemplo la introducción de librerías y de genéricos (se genera unarchivo.i).
Compilador: El código puro generado por el preprocesador (archivo.i) es analizado sintáctica, léxica y semánticamente por el compilador. Si el análisis realizado por el compilador pasa sinningún problema este genera el archivo del ensamblador (archivo.s – archivo.asm); depende del compilador se realiza un numero de optimizaciones al código.
Ejemplo: x = x + 1; -- esta operaciónprimero crea un elemento temporal para realizar la suma y luego la asigna a la variable x.
X++; -- esta operación realiza lo mismo que la anterior pero sin crear el elemento temporal.x = x + valor; -- esta operación primero crea un elemento temporal para realizar la suma y luego la asigna a la variable x.
X += valor; -- esta operación realiza lo mismo que laanterior pero sin crear el elemento temporal.

Ensamblado: El ensamblado transforma el código de lenguaje de ensamblador en código objeto (archivo.o) este código ya es binario.
Linker: esta esla operación final, consiste en agrupar los ficheros objeto de todos los módulos y librerías, y edita los enlaces para generar el ejecutable (archivo.out – archivo.exe – archivo.lib – archivo.out)
tracking img