ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Enlazadores


Enviado por   •  22 de Marzo de 2015  •  1.270 Palabras (6 Páginas)  •  163 Visitas

Página 1 de 6

Enlazadores

Enlazar es el proceso de recopilar y combinar varias piezas de código y datos en un único archivo que se puede cargar en memoria y ser ejecutado. Se puede realizar:

• En tiempo de compilación, cuando se convierte el código fuente en código máquina.

• En tiempo de carga, cuando el programa se carga en memoria Incluso en tiempo de ejecución, por los programas.

Anteriormente, el proceso de enlace se hacía de manera manual por los programadores; en la actualidad, los sistemas modernos realizan el enlace de manera automática por los “enlazadores”.

En los primeros sistemas de computación, el proceso de enlace se hacía de manera manual; en la actualidad, los sistemas modernos realizan el enlace de manera automática por los “enlazadores”.

Los enlazadores desempeñan un papel crucial en el desarrollo de software, ya que en lugar de organizar una aplicación de gran tamaño como un archivo fuente único, es posible descomponerla en módulos más pequeños y manejables que se pueden modificar y compilar por separado.

• Cuando uno de tales módulos es cambiado, simplemente se recompila y vuelve a vincular la aplicación, sin tener que recompilar los otros archivos.

Comprender el proceso de enlace es importante para los desarrolladores por varias razones:

• Los programadores que desarrollan programas grandes a menudo se encuentran errores de vínculos causados por módulos que faltan, librerías que faltan, o versiones de las librerías incompatibles.

• Los programas donde se definen incorrectamente varias variables globales pueden mostrar un comportamiento errático en tiempo de ejecución y son muy difíciles de depurar.

• Los archivos objeto ejecutables producidos por enlazadores desempeñan un papel clave en los sistemas de importantes funciones tales como los programas de carga y ejecución, la memoria virtual, paginación y la asignación de memoria.

• Permite explotar el uso de las bibliotecas compartidas.

Controlador Del Compilador

La mayoría de los sistemas de compilación proporcionan un controlador de compilador que invoca en nombre del usuario y según sea necesario: el preprocesador de lenguaje, el compilador, el ensamblador y el enlazador.

Enlazadores Estáticos

Los Enlazadores Estáticos toman como entrada una colección de archivos objeto reubicables y argumentos de línea de comandos y generan como salida un archivo objeto ejecutable totalmente vinculado que se puede cargar y ejecutar.

Los archivos objeto reubicables consisten en varias secciones de código y datos. Las instrucciones están en una sección, las variables globales inicializadas están en otra sección, y las variables sin inicializar están en otra sección.

Para construir el ejecutable, el enlazador debe realizar dos tareas principales:

• Resolución de símbolos. El propósito es asociar cada referencia simbólica con exactamente una definición de símbolo.

• Reubicación. Los compiladores y ensambladores generan secciones de código y datos que se inician en la dirección 0. El enlazador se traslada a estas secciones mediante la asociación de una ubicación de memoria con cada definición de símbolo, y luego modifica todas las referencias a esos símbolos de manera que apunten a dicha ubicación de memoria.

Archivos Objeto

Existen tres formas:

Archivo objeto reubicable: Contiene el código binario y datos de forma que se pueda combinar con otros archivos objeto reubicables en tiempo de compilación para crear un archivo objeto ejecutable.

Archivo objeto ejecutable: Contiene el código binario y datos de forma que se pueda copiar directamente en la memoria y ejecutarse.

Archivo objeto compartido: Un tipo especial de archivo objeto reubicable que puede cargarse en la memoria y vincularse de forma dinámica, ya sea en tiempo de carga o el tiempo de ejecución.

• Los compiladores y ensambladores generan archivos objeto reubicables (incluyendo archivos de objetos compartidos)

• Los enlazadores generan archivos objeto ejecutables.

Archivos Objeto Reubicables

• No se localiza el código hasta el mismo momento de creación del archivo objeto.

• El programador deja en manos del enlazador la gestión de la memoria de datos (declaración de variables)

• Se puede distribuir el código en varios módulos modificables y compilables separadamente.

...

Descargar como (para miembros actualizados)  txt (8.9 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com