Compilateurs

Quelle définition du compilateur croisé est correcte ?

  1. AUn compilateur qui mêle deux langages de programmation en un nouveau langage
  2. BUn compilateur qui génère du code machine pour un CPU différent de celui de l'ordinateur sur lequel il s'exécute
  3. CUn outil qui compare les sorties de plusieurs compilateurs et choisit la plus rapide
Afficher la réponse et l'explication

Réponse : B. Un compilateur qui génère du code machine pour un CPU différent de celui de l'ordinateur sur lequel il s'exécute

Le compilateur croisé s'exécute par exemple sur un PC x86 tout en générant du code machine pour des microcontrôleurs Arm ou RISC-V. Il est indispensable lorsque l'appareil cible, comme un équipement embarqué, manque de performances ou de mémoire pour exécuter un compilateur. Le code machine généré est vérifié en l'écrivant dans l'appareil cible ou en l'exécutant sur un émulateur simulant cet appareil. Ce n'est pas un outil mêlant des langages ou comparant les résultats de plusieurs compilateurs.

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

Autres questions sur Compilateurs

  1. Lorsqu'on examine au débogueur un programme compilé avec optimisation, certaines variables apparaissent parfois comme « non affichables ». Quelle en est la principale raison ?
  2. Après application poussée de la propagation de constantes, du repliement de constantes et de la suppression de code mort à la fonction ci-dessus, quelle valeur renvoie la fonction et quel code subsiste ?
  3. Quel est le rôle de l'analyse lexicale d'un compilateur ?
  4. Que fait l'analyse syntaxique d'un compilateur ?
  5. Quel exemple d'erreur détectée par l'analyse sémantique d'un compilateur est le plus approprié ?

Comparatifs sur ce thème