Éditeurs de liens, chargeurs et exécutables

Quel est l'usage le plus approprié de la fonction dlopen de Linux (équivalent de LoadLibrary sous Windows) ?

  1. AOuvrir et modifier le code source du programme
  2. BCharger en cours d'exécution une bibliothèque partagée devenue nécessaire, comme un plugin, et appeler ses fonctions
  3. COuvrir un fichier pour lire et écrire ses données
Afficher la réponse et l'explication

Réponse : B. Charger en cours d'exécution une bibliothèque partagée devenue nécessaire, comme un plugin, et appeler ses fonctions

En édition de liens dynamique ordinaire, les bibliothèques partagées utilisées sont fixées au démarrage. dlopen permet de charger une bibliothèque en cours d'exécution en spécifiant son nom, et dlsym d'en extraire l'adresse d'une fonction pour l'appeler. Comme la bibliothèque à utiliser peut être choisie selon la configuration ou l'utilisateur, il est souvent employé pour les mécanismes de plugins ou les fonctions optionnelles utilisées si elles sont disponibles.

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

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

  1. Lorsque 100 processus utilisent la même bibliothèque partagée, quelle est l'utilisation correcte de la mémoire physique ?
  2. 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 ?
  3. Quel est le rôle d'un script d'édition de liens (linker script) utilisé en développement embarqué ?
  4. Sur un microcontrôleur sans OS, quel traitement le code de démarrage effectue-t-il juste après la mise sous tension, avant d'appeler main ?
  5. Quelle est la différence correcte entre « section » et « segment » dans un fichier ELF ?

Comparatifs sur ce thème