Éditeurs de liens, chargeurs et exécutables

Quelle combinaison des formats d'exécutables utilisés par les principaux OS est correcte ?

  1. ALinux : PE, Windows : Mach-O, macOS : ELF
  2. BLinux : ELF, Windows : PE, macOS : Mach-O
  3. CTous les OS utilisent ELF
Afficher la réponse et l'explication

Réponse : B. Linux : ELF, Windows : PE, macOS : Mach-O

Le format d'exécutable est propre à chaque OS. Linux, BSD et de nombreux systèmes embarqués utilisent ELF, Windows le format PE (Portable Executable) des .exe et .dll, et macOS et iOS Mach-O. Les principes du contenu (zones de code et de données, symboles, relocalisation, informations d'édition de liens dynamique) sont similaires, mais les formats différant, un exécutable ne fonctionne pas tel quel sur un autre OS, même pour le même CPU.

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

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

  1. Lorsqu'une récursion trop profonde dépasse la limite de la pile, que se passe-t-il généralement sous Linux notamment ?
  2. En C, quelle affirmation concernant la valeur initiale d'une variable locale et d'une variable globale déclarées sans valeur initiale est correcte ?
  3. À force de répéter malloc et free, il peut devenir impossible d'allouer un grand bloc d'un seul tenant alors que la mémoire libre totale est suffisante. Comment appelle-t-on ce phénomène ?
  4. 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 » ?
  5. En C++, quel est le mécanisme correct par lequel les constructeurs d'objets globaux s'exécutent avant main ?

Comparatifs sur ce thème