Éditeurs de liens, chargeurs et exécutables
Lors de la création d'une bibliothèque partagée, quel est l'avantage de n'exporter que les fonctions utilisées de l'extérieur et de régler la visibilité des symboles des fonctions internes sur « hidden » ?
- ALes fonctions internes sont chiffrées et deviennent impossibles à analyser
- BLe nombre de symboles traités par l'éditeur de liens dynamique diminue, ce qui accélère le chargement, et les appels internes n'ont plus besoin de passer par la PLT
- CLa bibliothèque devient exécutable sur tous les OS
Afficher la réponse et l'explication
Réponse : B. Le nombre de symboles traités par l'éditeur de liens dynamique diminue, ce qui accélère le chargement, et les appels internes n'ont plus besoin de passer par la PLT
Un symbole exporté d'une bibliothèque partagée pouvant être remplacé par une définition de même nom dans un autre module, même les appels internes doivent passer par la PLT ou la GOT. En le rendant hidden, il devient invisible de l'extérieur, le nombre de symboles examinés par l'éditeur de liens dynamique diminue, et les appels internes peuvent être effectués directement en relatif au PC. Les conflits de noms avec d'autres bibliothèques sont aussi évités, et l'ABI exportée reste réduite.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables