Compilateurs

Quel est l'enchaînement courant permettant d'obtenir un exécutable à partir d'un programme C ?

  1. AÉdition de liens → compilation → assemblage
  2. BAssemblage → édition de liens → compilation
  3. CCompilation → assemblage → édition de liens
Afficher la réponse et l'explication

Réponse : C. Compilation → assemblage → édition de liens

Un fichier source C est d'abord converti par le compilateur en langage d'assemblage, proche du code machine (ou directement en fichier objet), puis l'assembleur en fait un fichier objet en code machine. Enfin, l'éditeur de liens réunit plusieurs fichiers objets et bibliothèques, fixe les adresses des fonctions et variables et produit l'exécutable. Au stade du fichier objet, les adresses des fonctions situées dans d'autres fichiers ne sont pas encore fixées. Dans les autres ordres, la sortie d'une étape ne constitue pas l'entrée de la suivante.

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

Autres questions sur Compilateurs

  1. Comment appelle-t-on l'optimisation qui examine par une petite fenêtre de courtes séquences du code machine généré pour remplacer des combinaisons d'instructions inefficaces par de meilleures instructions ?
  2. Dans le code ci-dessus, quelle optimisation s'applique ensuite après l'expansion en ligne de sq, et avec quel résultat ?
  3. Quelle définition du pipeline logiciel (software pipelining) est correcte ?
  4. Pourquoi un compilateur, sous réglage strict, ne réordonne-t-il pas de lui-même l'addition en virgule flottante (a + b) + c en a + (b + c) ?
  5. Quel type d'instructions la vectorisation automatique du compilateur utilise-t-elle ?

Comparatifs sur ce thème