CORRECTIF : Une violation d’accès se produit lorsque vous exécutez une application Visual C++ 2010 pour les plates-formes x64 si vous utilisez le « / O2 » option de compilateur pour générer le projet

S’applique à : Visual Studio 2010

Symptômes


Prenons l’exemple du scénario suivant :
  • Vous avez un projet Visual C++ 2010. Le code source du projet a une structure ou une classe qui est supérieure à 64 octets.
  • Vous générez le projet pour une plate-forme x64, et que vous utilisez l’option de compilateur/O2
  • Vous exécutez l’application.
Dans ce scénario, une violation d’accès se produit et l’application se bloque.

Cause


Ce problème se produit car le compilateur basée sur les x64 de Visual Studio 2010 optimise le code en ajustant l’alignement de la répartition des données à partir de 64 octets à 16 octets. Par conséquent, un problème de mémoire se produit pour les objets qui dépassent 64 octets.

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 rencontrant ce problème spécifique. 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 télécharger ce correctif depuis MSDN Code Gallery, visitez le site Web Microsoft suivant : Remarque 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. Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. 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 : Vous pouvez également télécharger ce correctif logiciel en visitant le site Web Microsoft suivant :

Conditions préalables

Pour appliquer ce correctif, vous devez disposer de Visual Studio 2010 est installé.

Nécessité de redémarrer

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

Informations sur le remplacement de correctif logiciel

Ce correctif logiciel n'en remplace pas d'autre.

Informations sur les fichiers

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données 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 du fichierVersion du fichierTaille du fichierDateHeurePlateforme
C2.dll16.0.30319.3452,510,14401-Aug-201023:42x86
C2.dll16.0.30319.3452,588,48001-Aug-201023:42x86
C2.dll16.0.30319.3452,630,97601-Aug-201023:42x86
C2.dll16.0.30319.3452,977,08801-Aug-201023:42x64
C2.dll16.0.30319.3457,351,61601-Aug-201023:42IA-64

Solution de contournement


Pour contourner ce problème, n’utilisez pas l’option de compilateur/O2 lorsque vous générez le projet.

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.