1.2.3. Ligadores o Editores de Enlace

El editor de enlace permite formar un sólo programa a partir de varios archivos de código de máquina relocalizable. Estos archivos pueden haber sido el resultado de varias compilaciones distintas, y uno o varios de ellos pueden ser archivos de biblioteca de rutinas proporcionadas por el sistema y disponibles para cualquier programa que las necesite.

Si los archivos se van a usar juntos de manera útil, puede haber algunas referencias externas, en las que el código de un archivo hace referencia a una posición de otro archivo. Esta referencia puede ser a una posición de datos definida en un archivo y utilizada en otro, o puede ser el punto de entrada de un procedimiento que aparece en el código de un archivo y se llama desde otro. Para esto se realiza un Montador  de enlace o enlazador este se produce cuando el lenguaje fuente permite una fragmentación de los programas en trozos, denominados de distintas formas según el lenguaje de programación empleado (módulos, units, librerías, procedimientos, funciones, subrutinas, etc.). Dichas partes pueden compilarse por separado, produciéndose los códigos objeto de cada una de estas partes.

El montador de enlace realiza el montaje de los distintos códigos objeto, produciendo el módulo de carga, que es el programa objeto completo, siendo el cargador (loader) quien lo transfiere a memoria.

La compilación genera un código objeto llamado Reubicable cuyo significado es que las posiciones de memoria que utiliza son relativas. El montador de enlaces se encarga de colocar detrás del programa principal del usuario todos los módulos reubicables.