2017-03-11 5 views
0

Je ne comprends pas vraiment ce que pragma fait et j'ai une question. Si j'exécute mon programme avec le drapeau -O2 et qu'il y a #pragma optimize("O3") dans mon code, utilisera-t-il l'optimisation O3 ou O2?C++ optimisation pragma vs construire des drapeaux

+0

https://msdn.microsoft.com/nl-nl/library/chh3fb0k.aspx a tout ce que vous devez savoir. –

+0

Vous posez des questions sur Microsoft C++ spécifiquement ou C++ en général? – smac89

+0

C++ en général. –

Répondre

0

En parlant d'un point de vue MSVC, #pragma se comporte généralement indépendamment des drapeaux du compilateur. Du point où vous déclarez la déclaration en avant #pragma, votre compilateur utilisera l'optimisation O3, si vous utilisez le paramètre on, comme par exemple #pragma optimize("O3",on)

Comme indiqué dans les documents MS ...

Optimize pragma doit apparaître en dehors d'une fonction et prend effet à la première fonction définie après la visualisation du pragma. Les arguments on et off activent ou désactivent les options spécifiées dans la liste d'optimisation.

glanées https://msdn.microsoft.com/en-us/library/chh3fb0k.aspx