Quelle est la différence entre Linker Loader et Compiler

La principale différence entre le chargeur de l'éditeur de liens et le compilateur est que L'éditeur de liens associe un ou plusieurs fichiers objets générés par le compilateur en un seul fichier exécutable. Pendant ce temps, un chargeur place les programmes en mémoire et les prépare pour l’exécution pendant que le compilateur convertit le code source en code objet..

Un programme informatique est un ensemble d'instructions qui effectuent une tâche spécifique lorsque l'ordinateur l'exécute. Un logiciel système est un type de programme informatique qui fournit une plate-forme à d’autres logiciels. Linker, loader et compiler sont trois logiciels système associés à la programmation informatique..

Zones clés couvertes

1. Qu'est-ce qu'un compilateur?
     - Définition, fonctionnalité
2. Qu'est-ce qu'un linker
     - Définition, fonctionnalité
3. Qu'est-ce qu'un chargeur
     - Définition, fonctionnalité
4. Quelle est la différence entre Linker Loader et Compiler
     - Comparaison des différences clés

Mots clés

Compilateur, lieur, chargeur

Qu'est-ce qu'un compilateur?

Un programme est un ensemble d'instructions pour effectuer une tâche donnée. Il est également connu sous le nom de code source. Le programmeur peut comprendre le code source, mais le processeur ne peut pas le comprendre. Par conséquent, il est nécessaire de convertir le code source en un format compréhensible par la machine..

Figure 1: Compilateur

Un compilateur est un logiciel spécial utilisé dans ce processus. Il convertit le code source en code objet. Ce code objet est un code intermédiaire. Le CPU ne peut pas l'exécuter directement.

Qu'est-ce qu'un linker

Après avoir converti le code source en code objet, l'éditeur de liens effectue la tâche de liaison. Il faut un ou plusieurs fichiers objet générés par le compilateur et les combine pour générer un fichier exécutable..

Figure 2: lieur

De plus, il combine les codes d’objet avec des bibliothèques. Par exemple, dans un programme C, si la fonction sqrt () permet de calculer la racine carrée d'un nombre, l'éditeur de liens lie le programme à la bibliothèque mathématique. Enfin, la CPU peut lire et comprendre le fichier exécutable généré. Par conséquent, la CPU peut exécuter ce fichier pour exécuter la tâche définie dans le programme.. 

Qu'est-ce qu'un chargeur

Un chargeur localise les programmes en mémoire et les prépare pour l'exécution. C'est un élément important lors du démarrage d'un programme. Cela inclut des tâches telles que la lecture du contenu du fichier exécutable et la mise en mémoire du fichier. De plus, il effectue les tâches nécessaires pour préparer le fichier exécutable à l'exécution. Une fois le chargement terminé, le système d'exploitation démarre le programme en transmettant le contrôle au code du programme chargé..

Figure 3: Compilation

La plupart des systèmes d'exploitation prennent en charge les chargeurs pour charger des programmes. Le chargeur est situé dans la mémoire de la plupart des systèmes, tandis que d'autres qui prennent en charge la mémoire virtuelle ont le chargeur dans une région de mémoire paginable..

Différence entre Linker Loader et Compiler

Définition

Un éditeur de liens est un programme utilitaire qui prend un ou plusieurs fichiers objets générés par un compilateur et les combine en un seul fichier exécutable. Un chargeur fait partie d’un système d’exploitation chargé de charger les programmes en mémoire. Un compilateur est un logiciel qui transforme un code informatique écrit dans un langage de programmation (code source) en un autre langage de programmation (code cible). Cela explique donc la principale différence entre le chargeur de l'éditeur de liens et le compilateur..

La fonctionnalité

En outre, un éditeur de liens combine plusieurs codes d’objets et les relie à des bibliothèques. Pendant ce temps, un chargeur prépare le fichier exécutable à l'exécution tandis qu'un compilateur transforme le code source en code objet. C’est donc la différence entre le chargeur de l’éditeur de liens et le compilateur en termes de fonctionnalité.. 

Conclusion

En résumé, la différence entre le chargeur de l'éditeur de liens et le compilateur réside dans le fait qu'un éditeur de liens combine un ou plusieurs fichiers objet générés par le compilateur en un seul fichier exécutable et qu'un chargeur place les programmes en mémoire et les prépare pour l'exécution pendant qu'un compilateur convertit le code source code objet.

Référence:

1. «Linker (Computing)». Wikipedia, Wikimedia Foundation, 6 octobre 2018, disponible ici..
2. “Loader (Computing).” Wikipedia, Wikimedia Foundation, 10 octobre 2018, disponible ici..
3. «Compilateur». Wikipedia, Wikimedia Foundation, 9 octobre 2018, disponible ici..

Courtoisie d'image:

1. “Compilateur idéal.” (CC BY-SA 3.0) via Commons Wikimedia
2. “Linker” By Qef - Propre travail par uploader, basé sur l'arrangement d'un équivalent bitmap par Orderud (domaine public) via Commons Wikimedia
3. “Screenshot-turbo51.com 2016-01-14 18-44-16" Par - Aho, Sethi, Ullman, Compilers: principes, techniques et outils, Addison-Wesley, 1986. ISBN 0-201-10088- 6 (CC BY-SA 4.0) via Commons Wikimedia