/QIfist (Supprimer _ftol)
Supprime l'appel de la fonction d'assistance _ftol quand la conversion d'un type à virgule flottante vers un type intégral est requise.
/QIfist
Notes
Notes
/QIfist n'est disponible que dans le compilateur ciblant x86 ; cette option du compilateur n'est pas disponible dans les compilateurs ciblant x64 ou ARM.
Outre la conversion d'un type en virgule flottante vers un type intégral, la fonction _ftol assure un mode d'arrondi de l'unité en virgule flottante (FPU) à zéro (troncature), en positionnant les bits 10 et 11 du mot de commande. La conversion d'un type en virgule flottante vers un type intégral se produit ainsi comme décrit par la norme C ANSI (la partie fractionnaire du nombre est supprimée). Lors de l'utilisation de /QIfist, cette garantie ne s'applique plus. Le mode d'arrondi sera l'un des quatre modes documentés dans les manuels de référence d'Intel :
Arrondi au plus près (nombre pair si équidistant)
Arrondi vers infini négatif
Arrondi vers infini positif
Arrondi à zéro
Vous pouvez utiliser la fonction runtime C _control87, _controlfp, __control87_2 pour modifier le comportement d'arrondi de l'unité en virgule flottante (FPU). Le mode d'arrondi par défaut de la FPU est l'« arrondi au plus près ». L'utilisation de /QIfist peut améliorer les performances de votre application, mais non sans risque. Vous devez tester complètement les portions de votre code qui sont sensibles aux modes d'arrondi avant de vous fier au code généré à l'aide de /QIfist dans des environnements de production.
/arch (x86) et /QIfist ne peuvent pas être utilisés sur le même module (compiland).
Notes
L'option /QIfist n'est pas activée par défaut, car les bits d'arrondi affectent également l'arrondi d'un nombre en virgule flottante vers un autre format en virgule flottante (qui est effectué après chaque calcul), de sorte que lorsque vous définissez les indicateurs de l'arrondi dans le style du langage C (à zéro), les calculs en virgule flottante peuvent être différents.Il convient de ne pas utiliser /QIfist si votre code dépend du comportement attendu qui consiste à tronquer la partie fractionnaire du nombre à virgule flottante.Si vous avez des doutes, évitez d'utiliser /QIfist.
/QIfist est déconseillé. Le compilateur a apporté des améliorations considérables à la vitesse de conversion de int vers float. Pour plus d'informations, consultez Deprecated Compiler Options.
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 Ligne de commande.
Spécifiez l'option du compilateur dans la zone Options supplémentaires.
Pour définir cette option du compilateur par programmation
- Consultez AdditionalOptions.