CORRECTIF : Vous recevez un message d’erreur ou une exception lors de la compilation ou l’exécution d’une application qui possède certaines options du compilateur activées dans Visual Studio 2008 SP1


Symptômes


Dans Microsoft Visual Studio 2008 Service Pack 1 (SP1), un des problèmes suivants se produit.

Symptôme 1

Lorsque vous compilez un projet qui contient l’option /arch:SSE(2) et la fp : à l’exception de option, vous recevez le message d’erreur suivant :
Erreur de ligne de commande D8016 :'/ arch : SSE2' et ' / fp : à l’exception de « options de ligne de commande ne sont pas compatibles.

Symptôme 2

Lorsque vous exécutez une application Visual C++ qui contient non initialisé survient à virgule flottante, une exception de virgule flottante. En outre, vous pouvez recevoir le message d'erreur suivant :
0xC0000090 : opération non valide en virgule flottante
Ce problème se produit si les conditions suivantes sont remplies :
  • Vous ajoutez le /fp : à l’exception de option à la liste des options du compilateur de désactiver l’exception de virgule flottante.

  • Le code source contient une variable à virgule flottante non initialisée.
  • La variable à virgule flottante non initialisée se trouve dans un module de mémoire qui contient la valeur signalisation n’est pas un nombre (NaN).

Symptôme 3

Lorsque vous compilez une application Visual C++ non managée à l’aide de l’option de compilateur/O2 ou l’option de compilateur /Ox , vous recevez une exception semblable à la suivante :
Exception au niveau 0x00401342 dans nom_fichiernon gérée : 0xC0000090 : opération non valide en virgule flottante.
Remarques
  • Le nombre 0x00401342 peut changer à des moments différents.
  • L’exception n’est pas générée lorsque vous activez l’option du compilateur /Od ou l’option de compilateur/O1 .

Résolution


Informations sur le correctif

Un correctif pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est conçu pour résoudre uniquement le problème décrit dans cet article. Il s’applique uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n’êtes pas sérieusement concerné par ce problème, nous vous recommandons d’attendre le prochain service pack de Visual Studio 2008 qui comprendra ce correctif.

Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour obtenir une liste complète des numéros de téléphone des Services de Support technique Microsoft et des informations sur les coûts de support, visitez le site Web de Microsoft à l’adresse suivante :Remarque Dans des cas particuliers, des frais généralement encourus pour les appels au support technique peuvent être annulés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question.

Conditions préalables

Vous devez disposer de Visual Studio 2008 Service Pack 1 pour appliquer ce correctif.

Nécessite un redémarrage

Vous n’êtes pas obligé de redémarrer l’ordinateur après avoir appliqué ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace aucun autre correctif.

Informations sur les fichiers

La version internationale de ce correctif possède les attributs de fichier (ou ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
C2.dll15.0.30729. 40562,361,65603-Mar-200910:46x86
Cl.exe15.0.30729.4056126, 77603-Mar-200910:46x86
Clui.dll15.0.30729.405619 2,32803-Mar-200910:46x86
Clui.dll15.0.30729.405620 9,73603-Mar-200910:46x86
Clui.dll15.0.30729.405627 7,30403-Mar-200910:46x86
Clui.dll15.0.30729.405627 9,88003-Mar-200910:46x86
Clui.dll15.0.30729.405639 1,49603-Mar-200910:46x86
Clui.dll15.0.30729.405639 2,00803-Mar-200910:46x86
Clui.dll15.0.30729.405645 7,54403-Mar-200910:46x86
Clui.dll15.0.30729.40564 200 de 4603-Mar-200910:46x86
Clui.dll15.0.30729.405646 7,27203-Mar-200910:46x86
Clui.dll15.0.30729.405647 2,39203-Mar-200910:46x86
Link.exe9.0.30729.4056799, 04803-Mar-200910:46x86

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Si ces problèmes se produisent lorsque vous utilisez Visual Studio 2008, appliquez les correctifs décrits dans les articles suivants de la Base de connaissances Microsoft :
955025 correctif : message d’erreur lorsque vous compilez un projet qui contient l’option /arch:SSE(2) et le /fp : sauf option dans Microsoft Visual Studio 2008 : « erreur de ligne de commande D8016 :'/ arch : SSE2' et ' / fp:except'command-options de la ligne ne sont pas compatibles. »

956089 correctif : une exception de virgule flottante se produit lorsqu’une application contient une variable à virgule flottante non initialisée et qu’il est compilée avec le/fp : attendre l’option dans Visual Studio 2008

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft