Éditeurs de liens, chargeurs et exécutables

Que se passe-t-il lorsqu'on applique la commande strip à un exécutable ?

  1. ALes instructions machine sont optimisées et l'exécution devient plus rapide
  2. BL'exécutable est chiffré et ne peut plus être exécuté par d'autres
  3. CLa table des symboles et les informations de débogage sont supprimées ; le fichier rétrécit, mais les noms de fonctions, etc. deviennent difficiles à voir dans un débogueur
Afficher la réponse et l'explication

Réponse : C. La table des symboles et les informations de débogage sont supprimées ; le fichier rétrécit, mais les noms de fonctions, etc. deviennent difficiles à voir dans un débogueur

Un exécutable peut contenir une table des symboles listant les noms de fonctions et de variables, et des informations de débogage établissant la correspondance avec les lignes du code source. Celles-ci étant inutiles à l'exécution, strip les supprime et réduit la taille du fichier. Mais les noms de fonctions et numéros de ligne ne sont alors plus visibles lors de l'analyse des bogues ; on conserve donc parfois séparément les informations d'avant suppression. Les symboles nécessaires à l'édition de liens dynamique sont conservés.

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

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

  1. Quel est le traitement correct d'un symbole faible (weak symbol) par l'éditeur de liens ?
  2. Quel est le principal objectif de la décoration de noms (mangling), par laquelle le compilateur C++ ajoute au nom d'une fonction des informations comme le type de ses arguments pour former le nom de symbole ?
  3. Quel est l'usage le plus approprié de la fonction dlopen de Linux (équivalent de LoadLibrary sous Windows) ?
  4. Lorsque 100 processus utilisent la même bibliothèque partagée, quelle est l'utilisation correcte de la mémoire physique ?
  5. 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 ?

Comparatifs sur ce thème