À retenir
- C'est l'étape qui transforme des fichiers de code séparés en un programme unique.
- Elle se déroule après la compilation.
- Elle sert à relier votre propre code aux fonctions déjà existantes dans le système (bibliothèques).
L'édition de liens est l'étape ultime de la fabrication d'un logiciel qui consiste à assembler plusieurs morceaux de code (appelés fichiers objets) pour créer un programme complet et utilisable, comme un fichier exécutable ou une bibliothèque. On peut comparer cela au montage d'un film : une fois que toutes les scènes ont été filmées séparément (compilation), le monteur les assemble dans le bon ordre pour obtenir le long-métrage final.
Étymologie
Vient de l'anglais linkage. En informatique, le terme « édition » prend ici le sens de préparation ou de mise en forme finale, tandis que les « liens » désignent les connexions établies entre les différentes parties du code source et les ressources externes.
Exemples d'usage
- La création d'un fichier
.exesous Windows à partir de plusieurs fichiers de code source en C++. - L'incorporation d'une bibliothèque mathématique standard dans un logiciel de calcul scientifique pour que ce dernier sache comment effectuer des racines carrées.
Cas d'usage
Ce processus est indispensable dans le développement avec des langages compilés (C, C++, Rust, Fortran). Il intervient juste après la compilation pour transformer le code brut en un logiciel capable de communiquer avec le système d'exploitation.
Bonnes pratiques
Il est important de comprendre la différence entre le lien statique (le code externe est copié à l'intérieur de votre programme) et le lien dynamique (le programme appelle un fichier externe au moment du lancement). Un mauvais paramétrage lors de cette étape est souvent la cause de logiciels qui refusent de démarrer car il leur manque une pièce du puzzle (erreur de DLL manquante par exemple).
Synonymes
Conseil
Si vous débutez et que vous voyez des erreurs de type undefined reference ou unresolved external symbol, ne paniquez pas : votre code est probablement syntaxiquement correct, mais l'éditeur de liens ne trouve pas l'un des composants nécessaires. Vérifiez que vous avez bien déclaré toutes vos fonctions et inclus les bibliothèques requises.
Questions fréquentes
Pourquoi mon programme compile mais échoue à l'édition de liens ?
Cela arrive souvent si vous appelez une fonction que l'ordinateur connaît de nom, mais dont il ne trouve pas le code réel dans les fichiers ou bibliothèques que vous lui avez fournis.
Qu'est-ce qu'un éditeur de liens (Linker) ?
C'est l'outil logiciel spécifique qui effectue cette opération d'assemblage, souvent intégré à votre environnement de développement.
Peut-on sauter cette étape ?
Non, pour les langages compilés, elle est obligatoire pour obtenir un fichier que l'utilisateur final peut lancer.