Qu'est-ce que Édition de liens dynamique ?

Méthode qui charge et lie les bibliothèques partagées à l'exécution. Les bibliothèques peuvent être partagées entre processus et une correction s'applique par simple remplacement, mais des bibliothèques compatibles doivent être présentes dans l'environnement.

Nom japonais: 動的リンク

« Édition de liens dynamique » apparaît dans 8 questions d'entraînement réparties sur 1 thèmes, dont Éditeurs de liens, chargeurs et exécutables.

Domaine: Éditeurs de liens, chargeurs et exécutables

S'entraîner : questions sur Édition de liens dynamique

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.

Un programme utilisant l'édition de liens dynamique, copié sur un autre ordinateur, ne démarre pas. Quelle est la cause la plus probable ?

  1. AL'exécutable contenait tout le code des bibliothèques et était trop gros
  2. BUn programme à liens dynamiques ne peut par principe fonctionner que sur l'ordinateur où il a été construit
  3. CLa bibliothèque partagée nécessaire est absente, ou seule une version incompatible est présente
Afficher la réponse et l'explication

Réponse : C. La bibliothèque partagée nécessaire est absente, ou seule une version incompatible est présente

Un programme à liens dynamiques utilise les bibliothèques partagées présentes sur l'ordinateur d'exécution. Si une bibliothèque nécessaire est absente, ou si seule une ancienne version dépourvue de certaines fonctions existe, l'éditeur de liens dynamique ne peut pas effectuer la liaison et le démarrage échoue. Sous Linux, la commande ldd permet de vérifier les bibliothèques partagées requises par un programme et si elles sont trouvées. Pour faciliter la distribution, on choisit parfois volontairement l'édition de liens statique.

« Édition de liens dynamique » dans les explications

Questions mentionnant « Édition de liens dynamique » (8)

  1. Quel est l'avantage de l'édition de liens dynamique (bibliothèques partagées) ?
  2. Un programme utilisant l'édition de liens dynamique, copié sur un autre ordinateur, ne démarre pas. Quelle est la cause la plus probable ?
  3. En édition de liens dynamique, quelle description de la liaison différée (lazy binding) utilisant la PLT (table de liaison des procédures) est correcte ?
  4. Quelle description de la relocalisation effectuée par l'éditeur de liens est correcte ?
  5. Que se passe-t-il lorsqu'on applique la commande strip à un exécutable ?
  6. Quel est l'usage le plus approprié de la fonction dlopen de Linux (équivalent de LoadLibrary sous Windows) ?
  7. En désassemblant un fichier objet, on constate que la destination de l'instruction appelant la fonction externe printf a une valeur provisoire comme 0. Quand cette valeur est-elle correctement renseignée ?
  8. Quelle combinaison des formats d'exécutables utilisés par les principaux OS est correcte ?

Comparatifs incluant ce terme

Termes associés

Éditeur de liens dynamique Relocalisation PLT (Procedure Linkage Table) GOT (table globale des décalages) Éditeur de liens (linker) Bibliothèque partagée Édition de liens statique Via Table des symboles Fichier objet

Retour au glossaire