Compilateurs

Quelle condition fondamentale les optimisations du compilateur doivent-elles respecter ?

  1. ARéduire toujours le nombre d'instructions à la moitié ou moins du programme d'origine
  2. BAccepter une légère modification des sorties du programme si cela l'accélère
  3. CNe pas modifier, pour un programme correct, les résultats visibles de l'extérieur
Afficher la réponse et l'explication

Réponse : C. Ne pas modifier, pour un programme correct, les résultats visibles de l'extérieur

Les optimisations sont des transformations visant à rendre le programme plus rapide ou plus petit, mais elles ne doivent pas modifier le comportement visible de l'extérieur d'un programme correctement écrit, comme ses sorties ou ses écritures de fichiers. C'est sous cette condition que l'on réordonne les calculs ou supprime les calculs inutiles. La réduction du nombre d'instructions varie selon les cas, et il n'existe pas de règle de division par deux. Modifier le résultat n'est permis que lorsque l'utilisateur l'a explicitement choisi, par exemple en autorisant le réordonnancement en virgule flottante.

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

Autres questions sur Compilateurs

  1. Quelle définition de la sélection d'instructions, l'une des étapes de la génération de code, est correcte ?
  2. Quelle définition du compilateur croisé est correcte ?
  3. Lorsqu'on examine au débogueur un programme compilé avec optimisation, certaines variables apparaissent parfois comme « non affichables ». Quelle en est la principale raison ?
  4. 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 ?
  5. Quel est le rôle de l'analyse lexicale d'un compilateur ?

Comparatifs sur ce thème