/Oi (Générer des fonctions intrinsèques)
Mise à jour : novembre 2007
Remplace certains appels de fonction par des formes intrinsèques ou d'autres formes spéciales de la fonction permettant à votre application de s'exécuter plus vite.
/Oi[-]
Notes
Les programmes qui utilisent des fonctions intrinsèques sont plus rapides, car ils n'ont pas la charge mémoire des appels de fonction, mais peuvent être plus volumineux en raison du code supplémentaire créé.
Pour plus d'informations sur les fonctions possédant des formes intrinsèques, consultez intrinsic.
/Oi est uniquement une demande au compilateur de remplacer des appels de fonction par des formes intrinsèques ; le compilateur peut appeler la fonction (sans remplacer l'appel de fonction par une forme intrinsèque) si cela entraîne de meilleures performances.
Spécifique x86
Les fonctions en virgule flottante intrinsèques n'effectuent pas de vérifications spéciales sur les valeurs d'entrée ; elles travaillent donc dans des plages restreintes d'entrée et se caractérisent par une gestion des exceptions et des conditions de limites différentes de celles des routines des bibliothèques portant le même nom. L'utilisation de formes intrinsèques véritables implique la perte de la gestion des exceptions IEEE, ainsi que la perte des fonctionnalités _matherr et errno ; cette dernière signifie la perte de compatibilité ANSI. Cependant, les formes intrinsèques peuvent accélérer considérablement les programmes à forte intensité de calcul en virgule flottante, et pour de nombreux programmes, les problèmes de compatibilité ne représentent qu'une très faible valeur sur le plan pratique.
Vous pouvez utiliser /Za, /Ze (Désactiver les extensions de langage) pour substituer la génération d'options à virgule flottante intrinsèque véritables. Dans ce cas, les fonctions sont générées en tant que routines de bibliothèque qui passent des arguments directement au processeur en virgule flottante au lieu d'y exécuter un push sur la pile du programme.
FIN Spécifique x86
Vous également utiliser intrinsic pour créer des fonctions intrinsèques ou function (C/C++) pour forcer explicitement un appel de fonction.
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é Activation des fonctions intrinsèques.
Pour définir cette option du compilateur par programme
- Consultez EnableIntrinsicFunctions.
Voir aussi
Référence
/O (Optimiser le code), options