/Oy (Omission du pointeur frame)
Mise à jour : novembre 2007
Supprime la création de pointeurs frame sur la pile des appels.
/Oy[-]
Notes
Cette option accélère les appels de fonction, dans la mesure où aucun pointeur frame n'a besoin d'être installé, puis retiré. Elle libère également un registre supplémentaire (EBP sur Intel 386 ou version ultérieure) pour stocker des variables et des sous-expressions fréquemment utilisées.
/Oy active l'omission du pointeur frame et /Oy- désactive l'omission. /Oy n'est disponible que dans les compilateurs x86.
Si votre code requiert un adressage basé sur EBP, vous pouvez spécifier l'option /Oy– après l'option /Ox ou utiliser optimize avec les arguments "y" et off pour obtenir une optimisation maximale avec l'adressage EBP. Le compilateur détecte la plupart des situations où l'adressage EBP est requis (par exemple, avec les fonctions _alloca et setjmp et avec une gestion structurée des exceptions).
Les options /Ox (Optimisation complète) (optimisation complète) et /O1, /O2 (Réduire la taille, augmenter la vitesse) (code rapide) impliquent /Oy. La spécification de /Oy– après l'option /Ox, /O1 ou /O2 désactive /Oy, que cette option soit explicite ou implicite.
L'option de compilateur /Oy complique l'utilisation du débogueur car le compilateur supprime les informations de pointeur de frame. Si vous spécifiez une option de débogage du compilateur (/Z7, /Zi, /ZI), nous vous conseillons de spécifier l'option /Oy- après toute autre option d'optimisation du compilateur.
Pour définir cette option du compilateur dans l'environnement de développement Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.
Cliquez sur le dossier C/C++.
Cliquez sur la page de propriétés Optimisation.
Modifiez la propriété Omission des pointeurs de frame. Cette propriété ajoute ou supprime uniquement l'option /Oy. Si vous voulez ajouter l'option /Oy-, cliquez sur Ligne de commande et modifiez Options supplémentaires.
Pour définir cette option du compilateur par programme
- Consultez OmitFramePointers.