Es un programa que enlaza
todos los programas o módulos obteniendo lo que denominamos programa
ejecutable.
Un ligador es un programa de sistema que combina dos o mas programas objeto separados y permite que se hagan referencias unos a otros, o sea, que cada uno de estos programas pueden hacer referencia a código ó variables de los otros programas con los que está enlazado.
Un ligador es un programa de sistema que combina dos o mas programas objeto separados y permite que se hagan referencias unos a otros, o sea, que cada uno de estos programas pueden hacer referencia a código ó variables de los otros programas con los que está enlazado.
FUNCIÓN
Los editores de
ligado pueden efectuar varias funciones últimas además de la simple preparación
de un programa objeto para su ejecución estos también se pueden utilizar para
construir paquetes de subrutinas u otras secciones que suelen utilizar juntas.
Esto puede ser útil al tratar con bibliotecas de subrutinas que manejan
lenguajes de programación de alto nivel. Comparados con los cargadores de
ligadores los editores de ligado en general tienden a ofrecer mayor
flexibilidad y control con el correspondiente incremento e complejidad y
sobrecarga.
Tipos
de ligadores
La diferencia fundamental entre un editor de ligado y un cargador ligador es:
Primero se ensambla o compila el programa fuente, produciendo un programa
objeto (que puede contener varias secciones de control diferentes).
Un cargador
ligador realiza todas las operaciones de ligado y relocalización, incluyendo
búsqueda automática en bibliotecas, si se especifica, y carga el programa
ligado directamente en la memoria para su ejecución. Por otro lado, un editor
de ligado produce una versión ligada del programa (llamada a menudo módulo de
carga o imagen ejecutable), que se escribe un archivo o biblioteca para su
ejecución posterior. Cuando el usuario esta listo para ejecutar el programa
ligado, se puede utilizar un cargador re localizador simple para cargar el
programa en la memoria. El editor de ligado realiza relocalización de todas las
secciones de control relativas al inicio del programa ligado.
Ligador Dinámico. ofrece
algunas ventajas sobre los otros tipos de ligado. Proporciona la posibilidad de
cargar las rutinas sólo cuando y si se necesitan. Si las subrutinas son grandes
o tienen muchas referencias externas, se pueden conseguir ahorros considerables
de tiempo y espacio de memoria.
EDITOR DE LIGADO DEL SISTEMA /370. es muy parecido al analizado para SIC/XE. La técnica de referencia a un número se usa para mejorar la eficiencia. El programa de salida del editor de ligado se llama módulo de carga, y puede cargarse en la memoria para su ejecución, y suele contener suficiente información para permitir que el editor de ligado los reprocese.
EDITOR DE LIGADO DEL SISTEMA /370. es muy parecido al analizado para SIC/XE. La técnica de referencia a un número se usa para mejorar la eficiencia. El programa de salida del editor de ligado se llama módulo de carga, y puede cargarse en la memoria para su ejecución, y suele contener suficiente información para permitir que el editor de ligado los reprocese.
LIGADORES ESTATICOS. Cuando
se utilizan subrutinas en un programa, el código ejecutable de cada una de
ellas debe encontrarse en memoria al tiempo de ejecución. Para esto, antes de
cargar un programa, debe ligarse su código objeto con los códigos objeto
(guardados en uno o más archivos) de cada una de las subrutinas invocadas por
él, obteniendo así un programa ejecutable que contiene tanto el código del
módulo invocador como el código de los módulos invocados. En este punto, es
posible guardar el resultado del proceso de liga en un archivo que podrá ser
utilizado por un cargador, o el mismo programa ligador puede también realizar
la tarea de carga. Esto último evita el tener que guardar el código ejecutable
en un archivo, con lo que se ahorra espacio en disco. Este ahorro de espacio en
disco se paga con el tiempo gastado al tener que ligar todos los módulos cada
vez que se necesite ejecutar el programa.
LIGADOR DEL SISTEMA VAX. El
ligador VAX es un editor de ligado que realiza las mismas funciones básicas
alcanzadas con anterioridad. La acción del ligador en la creación de las
secciones de imagen está controlada por ensamblador o compilador por medio de
una secuencia de mandatos que forman parte del programa objeto.
LIGADOR
EN C++
Si algún archivo fuente hace
referencia a funciones de una biblioteca o de funciones que están definidas en
otros archivos fuentes, el ligador combina estas funciones (con main ()) para
crear un archivo ejecutable. Las referencias a variables externas en esta etapa
son resueltas.
USO DE LAS BIBLIOTECAS
C es un lenguaje extremadamente
pequeño. Muchas de las funciones que tienen otros lenguajes no están en C, por
ejemplo, no hay funciones para E/S, manejo de cadenas o funciones matemáticas.
La funcionalidad de C se
obtiene a través de un rico conjunto de bibliotecas de funciones.
Como resultado, muchas
implementaciones de C incluyen bibliotecas estándar de funciones para varias
finalidades. Para muchos propósitos básicos estas podrían ser consideradas como
parte de C. Pero pueden variar de máquina a máquina.
No hay comentarios:
Publicar un comentario