Éditeurs de liens, chargeurs et exécutables

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 ?

  1. ATous les fichiers objets de la bibliothèque
  2. BSeulement le nom de fichier de la bibliothèque, sans code
  3. CSeulement les fichiers objets de la bibliothèque nécessaires pour résoudre les références non définies
Afficher la réponse et l'explication

Réponse : C. Seulement les fichiers objets de la bibliothèque nécessaires pour résoudre les références non définies

Une bibliothèque statique est une archive regroupant de nombreux fichiers objets. L'éditeur de liens n'extrait de l'archive et n'intègre que les fichiers objets définissant des symboles dont la définition n'a pas encore été trouvée. Ainsi, même avec une bibliothèque contenant de nombreuses fonctions comme la bibliothèque standard, l'exécutable ne grossit que des fonctions utilisées.

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

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

  1. 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 ?
  2. Quelle description du code indépendant de la position (PIC) est correcte ?
  3. Quel est le rôle de la GOT (table globale des déplacements) utilisée dans les bibliothèques partagées ?
  4. 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 ?
  5. Quel est le rôle de l'éditeur de liens dynamique (ld.so, etc.) qui intervient au démarrage d'un programme à liens dynamiques sous Linux ?

Comparatifs sur ce thème