/QIPF_fr32 (Ne pas utiliser les 96 registres de virgule flottante supérieurs)
Indique au compilateur qu'il doit utiliser uniquement les 32 registres à virgule flottante inférieurs, et non pas les 96 registres à virgule flottante supérieurs, lors de la compilation pour Itanium.
/QIPF_fr32
Notes
[!REMARQUE]
/QIPF_fr32 n'est disponible que dans les compilateurs qui ciblent Itanium.Cette option de compilateur n'est pas disponible dans les compilateurs qui ciblent x64 ou x86.
Lors de l'écriture d'un pilote de périphérique qui s'exécute dans le contexte en mode noyau, la compilation avec /QIPF_fr32 est vivement recommandée.Si une application quitte le mode noyau et si l'un de ses 96 registres supérieurs n'est pas intact, comme cela pourrait être le cas si une interruption s'est produite, l'application échoue lorsqu'elle repasse en mode utilisateur.Prenons le scénario suivant :
Une application s'exécute en mode utilisateur lorsqu'une interruption se produit.
Le contrôle est passé au noyau et les 96 registres à virgule flottante supérieurs ne sont pas enregistrés.
Le noyau appelle un pilote qui a été compilé sans /QIPF_fr32.
Le pilote détruit l'un des registres à virgule flottante supérieurs
Le pilote repasse en mode noyau.
Le noyau reprend la main après l'interruption et l'un des registres à virgule flottante supérieurs de l'application est détruit.
Outre l'exactitude qu'elle procure aux applications qui basculent du mode noyau au mode utilisateur, l'option /QIPF_fr32 améliore également les performances des changements de contexte en mode utilisateur (les 96 registres à virgule flottante supérieurs ne doivent pas être enregistrés ou rechargés).
Pour définir cette option du compilateur dans l'environnement de développement Visual Studio
- /QIPF_fr32 n'est pas disponible dans l'environnement de développement Visual Studio.
Pour définir cette option du compilateur par programmation
- Consultez AdditionalOptions.