Édition de liens
Lors d’un développement informatique, l’édition des liens est un processus qui permet de créer des fichiers exécutables ou des bibliothèques dynamiques ou statiques, à partir de fichiers objets.
La compilation en fichiers objets laisse l'identification de certains symboles à plus tard. Avant de pouvoir exécuter ces fichiers objets, il faut résoudre les symboles et les lier à une bibliothèque. Le lien peut être :
- statique : le fichier objet et la bibliothèque sont liés dans le même fichier exécutable.
- dynamique : le fichier objet est lié avec la bibliothèque, mais pas dans le même fichier exécutable ; les liens sont établis lors du lancement de l'exécutable.
Les assembleurs sont généralement livrés avec un programme chargé de faire ce travail (appelé linker ou éditeur de liens).
Certains langages modernes (Java, langages .NET) n'ont plus besoin de cette phase de la compilation et résolvent les adresses dynamiquement (au prix d'un temps de calcul plus important).
Édition des liens [modifier]
La phase d’édition des liens consiste en la construction d'une image mémoire contenant l’ensemble des parties de code compilées séparément (modules, sous-programmes ou bibliothèques de sous-programmes). L'éditeur de liens a pour rôle de lier les fichiers objets (fichiers simplement compilés) avec les fichiers pré-compilés d'une ou plusieurs bibliothèques.
Les bibliothèques dynamiques [modifier]
L’édition des liens est aussi capable de créer les références appropriées vers les fonctions contenues dans les « bibliothèques dynamiques partagées », dont le chargement (assuré par le système d'exploitation) est retardé jusqu’au moment de l’exécution du code objet. De telles bibliothèques partagées permettent de réduire la taille des fichiers exécutables produits par la compilation et l’édition de liens (lorsque le code de la bibliothèque est commun à plusieurs programmes). Elles sont populaires sous le nom de dynamically linked library (DLL, sous Windows) ou shared object (SO) ou dynamic library (DYLIB, sous Mac).