Traduccion de un programa

Solo disponible en BuenasTareas
  • Páginas : 7 (1529 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de marzo de 2011
Leer documento completo
Vista previa del texto
Ingeniería Técnica Industrial Fundamentos de Informática Tema 3. El proceso de compilación, del código fuente al código máquina

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido a un lenguaje de programación, de modo que un ordenador escapaz de ejecutarlo. Programación: Elaboración de un programa de manera que éste sea: − Correcto Un programa será correcto si hace lo que debe hacer, de modo que se deben especificar de manera muy clara cuáles son los datos sobre los que se trabajarán y lo que se debe hacer con ellos. Todo debe ser documentado y probado antes de desarrollarlo. − Eficiente Debe consumir la menor cantidad derecursos (tiempo y/o memoria) posible. − Claro Es muy importante la claridad y legibilidad de todo programa, ya que facilitará al máximo la tarea de mantenimiento posterior del software. − Modular Los programas suelen subdividirse en subprogramas (módulos), para reducir la complejidad de aquella parte que se está implementando y facilitar la reutilización de código.

Para la elaboración de un programahay que distinguir entre las siguientes dos fases:
− Fase de compilación y linkado (link, montado o enlace)

− Fase de ejecución de un programa

Página 1 de 5

Ingeniería Técnica Industrial Fundamentos de Informática Tema 3. El proceso de compilación, del código fuente al código máquina

3.1 Fase de compilación y linkado (link, montado o enlace)
Un programa escrito en un lenguaje dealto nivel, no puede ser ejecutado directamente por un ordenador, sino que debe ser traducido a lenguaje máquina. Las etapas por las que debe pasar un programa escrito en un lenguaje de programación, hasta poder ser ejecutable son: Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programación). Necesita sertraducido a código máquina para poder ser ejecutado. Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina y de comprobar que las llamadas a las funciones de librería se realizan correctamente. Programa (o código) objeto: Es el programa fuente traducido (por el compilador) a código máquina. Aún no es directamente ejecutable. ProgramaEjecutable: Traducción completa a código máquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable.

Programa Fuente
DEPURACIÓN del programa si se producen errores en ejecución
(nombre.c)

Con errores

COMPILADOR

Librerías

Programa Objeto
(nombre.o)

ENLAZADOR
Sin errores

Programa ejecutable
(nombre.exe)

Figura 1. Proceso detransformación de un programa fuente a un programa ejecutable

Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el código máquina de las funciones de las librerías (archivos de biblioteca) usadas en el programa y realizar el proceso de montaje, que producirá un programa ejecutable .exe. Las librerias son una colección de código (funciones) ya programado y traducido acódigo máquina, listo para utilizar en un programa y que facilita la labor del programador.

Sin errores

Página 2 de 5

Ingeniería Técnica Industrial Fundamentos de Informática Tema 3. El proceso de compilación, del código fuente al código máquina

Como cada lenguaje de programación tiene unas reglas especiales (sintaxis) debe existir un compilador específico para cada lenguaje deprogramación. Si el programa fuente es sintácticamente correcto, el compilador generará el código objeto, en caso contrario mostrará una lista con los errores encontrados, no generándose ningún programa objeto, para que procedamos a su depuración Los compiladores emiten mensajes de error o de advertencia durante las fases de compilación, de enlace o de ejecución de un programa: • Los errores en tiempo de...
tracking img