Compilateurs

Quelle optimisation l'optimisation à l'édition de liens (LTO) rend-elle possible ?

  1. AL'expansion en ligne et autres optimisations même entre fonctions de fichiers différents
  2. BLe déroulage des seules boucles d'une même fonction
  3. CLa suppression de l'édition de liens, les fichiers objets devenant directement exécutables
Afficher la réponse et l'explication

Réponse : A. L'expansion en ligne et autres optimisations même entre fonctions de fichiers différents

La compilation habituelle convertit chaque fichier source séparément en code machine ; le contenu des fonctions d'autres fichiers est invisible, et l'expansion en ligne ou la propagation de constantes entre fichiers est impossible. La LTO conserve chaque fichier sous forme de représentation intermédiaire et optimise l'ensemble du programme à l'édition de liens. L'expansion en ligne entre fichiers et la suppression des fonctions jamais appelées deviennent alors possibles. Le déroulage des boucles d'une même fonction est possible en compilation ordinaire.

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

Autres questions sur Compilateurs

  1. En C, le débordement d'un entier signé est un comportement indéfini. Sur cette base, quel code un compilateur optimisant la fonction ci-dessus peut-il générer ?
  2. Parmi les erreurs de programme, laquelle peut être détectée dès la compilation ?
  3. Dans un langage à typage statique, quel est le principal avantage de la vérification des types par le compilateur ?
  4. Qu'utilise-t-on souvent pour exprimer les règles de reconnaissance des lexèmes dans l'analyse lexicale ?
  5. Quel type de grammaire, utilisé pour décrire la grammaire de nombreux langages de programmation, sert de base à l'analyse syntaxique ?

Comparatifs sur ce thème