Compilateurs

Dans quelle situation utilise-t-on souvent l'option de niveau d'optimisation désactivant l'optimisation (-O0, etc.) ?

  1. APour produire un programme le plus rapide possible à distribuer comme produit
  2. BPour rechercher des erreurs en vérifiant le comportement ligne par ligne au débogueur
  3. CPour obtenir la taille de programme la plus petite possible
Afficher la réponse et l'explication

Réponse : B. Pour rechercher des erreurs en vérifiant le comportement ligne par ligne au débogueur

Sans optimisation, chaque ligne du code source correspond au code machine presque dans le même ordre, et les variables restent toujours en mémoire ou en registre ; il est donc facile d'exécuter pas à pas au débogueur et de vérifier les valeurs des variables. Avec optimisation, le réordonnancement des instructions et la suppression de variables rendent la correspondance avec le source difficile à suivre. Pour un produit rapide, on utilise un niveau d'optimisation élevé, et pour réduire la taille, un réglage privilégiant la taille.

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

Autres questions sur Compilateurs

  1. Quelle définition de l'optimisation guidée par profil (PGO) est correcte ?
  2. Quelle optimisation l'optimisation à l'édition de liens (LTO) rend-elle possible ?
  3. 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 ?
  4. Parmi les erreurs de programme, laquelle peut être détectée dès la compilation ?
  5. Dans un langage à typage statique, quel est le principal avantage de la vérification des types par le compilateur ?

Comparatifs sur ce thème