Éditeurs de liens, chargeurs et exécutables

Quel est l'avantage de l'édition de liens dynamique (bibliothèques partagées) ?

  1. ALe programme fonctionne toujours même sans les bibliothèques dans l'environnement d'exécution
  2. BPlusieurs programmes peuvent partager une même bibliothèque en mémoire, et la mise à jour de la bibliothèque applique les corrections sans reconstruction
  3. CAucun traitement n'est nécessaire au démarrage, et le démarrage est toujours plus rapide qu'avec l'édition de liens statique
Afficher la réponse et l'explication

Réponse : B. Plusieurs programmes peuvent partager une même bibliothèque en mémoire, et la mise à jour de la bibliothèque applique les corrections sans reconstruction

En édition de liens dynamique, l'exécutable n'enregistre que « quelle fonction de quelle bibliothèque partagée utiliser », et l'éditeur de liens dynamique charge et lie les bibliothèques à l'exécution. Le code des bibliothèques partagées n'étant pas modifié, une seule copie en mémoire physique peut être partagée par de nombreux processus. Les corrections de bogues ou de vulnérabilités se font simplement en remplaçant la bibliothèque. En revanche, la liaison coûte du temps au démarrage.

S'entraîner sur ce thème Retour au thème

Autres questions sur Éditeurs de liens, chargeurs et exécutables

  1. Un programme utilisant l'édition de liens dynamique, copié sur un autre ordinateur, ne démarre pas. Quelle est la cause la plus probable ?
  2. Lors de l'édition de liens avec une bibliothèque statique (fichier .a), qu'est-ce que l'éditeur de liens intègre dans l'exécutable ?
  3. Avec l'éditeur de liens GNU, écrire une bibliothèque statique avant le fichier objet qui l'utilise, comme « gcc -lmylib main.o », peut provoquer une erreur de référence non définie. Quelle en est la raison ?
  4. Quelle description du code indépendant de la position (PIC) est correcte ?
  5. Quel est le rôle de la GOT (table globale des déplacements) utilisée dans les bibliothèques partagées ?

Comparatifs sur ce thème