web-dev-qa-db-fra.com

Que signifie «#pragma GCC optimize (« O3 »)»?

Je suis passé par cette ligne dans le code source du projet écrit avant une fonction. Je veux savoir, à quoi ça sert?

#pragma GCC optimize ("O3")

void somefunction()
{
  ....
}

Demander d'expliquer tous les arguments utilisés dans la directive.

Merci et salutations.

7
Madhu R

Les pragmas sont spécifiques à l'implémentation mais, dans ce cas (gcc), il définit le niveau d'optimisation à 3 (élevé), similaire à l'utilisation de -O3 sur la ligne de commande.

Les détails sur les niveaux d'optimisation pour gcc, et les indicateurs individuels qui sont définis en réponse, peuvent être trouvés ici .

7
paxdiablo