Éditeurs de liens, chargeurs et exécutables
Quelle affirmation concernant le fichier objet (.o) produit par le compilateur à partir d'un fichier source est correcte ?
- AC'est un programme complet directement exécutable par l'OS
- BC'est simplement le code source compressé, sans langage machine
- CIl contient du langage machine, mais les adresses des fonctions et variables situées dans d'autres fichiers ne sont pas encore fixées
Afficher la réponse et l'explication
Réponse : C. Il contient du langage machine, mais les adresses des fonctions et variables situées dans d'autres fichiers ne sont pas encore fixées
Un fichier objet contient le langage machine traduit des fonctions du fichier, les valeurs initiales des variables, la liste des noms définis ou référencés (table des symboles) et la liste des emplacements où des adresses seront renseignées ultérieurement (informations de relocalisation). Les instructions appelant une fonction d'un autre fichier, comme printf, conservent une valeur provisoire faute de connaître l'adresse. L'éditeur de liens rassemble plusieurs fichiers objets, fixe les adresses et produit l'exécutable.
Continuer : 9 autres questions sur Éditeurs de liens, chargeurs et exécutables