Éditeur de liens

Définition, exemples et bonnes pratiques

À retenir

  • C'est l'étape finale avant d'obtenir un programme exécutable.
  • Il résout les adresses mémoire : il indique au programme où trouver précisément chaque fonction.
  • Il peut effectuer un lien statique (tout est dans le fichier) ou dynamique (le programme cherchera des composants au moment du lancement).

L'éditeur de liens est un outil indispensable qui intervient à la fin de la création d'un logiciel. Son rôle est de rassembler plusieurs morceaux de code (appelés fichiers objets) et des bibliothèques toutes prêtes pour en faire un seul fichier fini et utilisable, comme un programme .exe sur Windows. C'est l'artisan qui assemble les différentes pièces détachées d'un moteur pour que la voiture puisse enfin démarrer.

Étymologie

Traduction directe du terme anglais linker. Le mot souligne l'action de créer des liens (links) entre des références de fonctions ou de variables éparpillées dans différents fichiers de code source.

Exemples d'usage

  • Le programme ld utilisé sous Linux pour finaliser la compilation de logiciels en langage C.
  • L'outil link.exe intégré à l'environnement de développement Visual Studio de Microsoft.
  • La phase invisible où un smartphone assemble les composants d'une application avant de l'installer.

Cas d'usage

Il intervient principalement dans le développement logiciel utilisant des langages compilés (comme le C, le C++ ou le Rust). On l'utilise pour combiner le code écrit par le développeur avec des bibliothèques système (pour afficher du texte, gérer le réseau, etc.).

Bonnes pratiques

Pour éviter les erreurs durant cette étape, il est crucial de bien déclarer toutes les fonctions utilisées et de vérifier que les bibliothèques externes sont accessibles dans les dossiers de recherche du système. Une erreur classique est l'oubli d'inclure une bibliothèque, ce qui empêche la création du programme final.

Synonymes

linker relieur

Conseil

Si vous débutez et que vous voyez une erreur de type undefined reference ou unresolved external symbol, ne cherchez pas une faute de frappe dans votre code : c'est presque toujours l'éditeur de liens qui vous prévient qu'il lui manque un fichier ou une bibliothèque pour finir son assemblage.

Questions fréquentes

C'est quoi une erreur d'édition de liens ?

C'est quand l'outil ne trouve pas une pièce du puzzle. Par exemple, si vous dites au programme d'utiliser une fonction 'Imprimer' mais que vous ne lui donnez pas le fichier qui explique comment imprimer.

Quelle est la différence avec un compilateur ?

Le compilateur traduit le texte (code) en langage machine pour chaque fichier séparément. L'éditeur de liens, lui, prend tous ces fichiers traduits pour les coller ensemble de façon cohérente.