Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous activez l’option d’optimisation globale (/Og) en activant une des options suivantes :

    • /O1

    • /O2

    • /Ox

  • Vous créez un fichier de code source Microsoft Visual C++ à l’aide de Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • Le fichier source appelle la fonction setjmp , la fonction longjmp ou les deux fonctions.

Dans ce scénario, le compilateur peut utiliser le même offset de pile pour stocker les variables locales différentes. Par conséquent, un comportement inattendu peut se produire lorsque vous exécutez l’application générée.

Cause

Ce problème se produit parce que l’optimiseur ne tient pas compte de la fonction setjmp ou longjmp . Ainsi, l’optimiseur calcule pas correctement la durée de vie des variables locales. Lorsqu’une variable est modifiée, une autre variable peut être modifiée de manière inattendue.

Résolution

Informations sur le correctif logiciel

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être 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 la prochaine mise à jour logicielle qui contiendra ce correctif. Pour résoudre ce problème immédiatement, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour une liste complète des numéros de téléphone du service clientèle de Microsoft ou pour créer une demande de service distincte, visitez le site Web Microsoft suivant :

http://support.microsoft.com/contactus/?ws=supportRemarque Dans certains cas, aucuns frais de support technique par téléphone ne vous sera facturé si un professionnel du support 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. Pour télécharger ce correctif à partir de la galerie de Code Microsoft Developer Network (MSDN), visitez le site Web Microsoft suivant :

http://code.msdn.microsoft.com/KB2498381Remarque MSDN Code Gallery affiche les langues pour lesquelles ce correctif est disponible. Si vous ne voyez pas votre langue, c'est certainement dû au fait que la page de ressource Code Gallery n'existe pas dans cette langue. Ou bien, vous pouvez télécharger ce correctif depuis le site Microsoft Connect :

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826

Conditions préalables

Pour appliquer ce correctif, vous devez disposer de Microsoft Visual Studio 2008 Service Pack 1 est installé.

Informations sur le redémarrage

Vous n’êtes pas obligé de redémarrer l’ordinateur après l’installation de ce correctif si vous avez arrêté toutes les instances de Visual Studio.

Informations sur le remplacement de correctif logiciel

Ce correctif ne remplace pas un correctif précédemment publié.

Informations sur les fichiers

La version globale de ce correctif logiciel installe des fichiers dont les attributs sont répertoriés dans les tableaux ci-dessous. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Les date et heure de ces fichiers s’affichent sur votre ordinateur local conformément à l’heure locale et en tenant compte de l’heure d’été. En outre, ces date et heure peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.

Nom du fichier

Version du fichier

Taille du fichier

Date

Heure

Plateforme

C2.dll

15.0.30729.6147

2,283,840

25-fév-2011

01:25

x86

C2.dll

15.0.30729.6147

2,362,688

25-fév-2011

01:25

x86

C2.dll

15.0.30729.6147

2,493,248

25-fév-2011

01:25

x86

C2.dll

15.0.30729.6147

3,018,048

25-fév-2011

01:25

x64

C2.dll

15.0.30729.6147

7,263,040

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

1,055,560

25-fév-2011

01:25

x64

Link.exe

9.0.30729.6147

2,135,368

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

800,584

25-Feb-2011

01:25

x86

Solution de contournement

Pour contourner ce problème, initialisez les variables locales au début de la fonction afin que le compilateur puisse être conscient de la durée de vie des variables.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Informations supplémentaires

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 :

824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×