Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Beim Erstellen einer Anwendung, die auf die X64 konfiguriert ist, verwenden Sie die Compileroption/Ot (schnellen Code bevorzugen) Plattform in Microsoft Visual Studio 2005 Service Pack 1 (SP1). Beim Ausführen der Anwendungdes können einige Wenn Anweisungen nicht ordnungsgemäß ausgeführt. Daher sind die Ergebnisse unvorhersehbar. Wenn Anweisungen können z. B. im generierten Code der Anwendung übersprungen.

Dieses Problem tritt nur im folgenden Szenario.

  • Es gibt einige MOV Anweisungen zwischen zwei vergleichen.

  • Diese vergleichen Operationen mit denselben Operanden.

  • Die Operanden werden von MOV-Anweisungen geändert.

In diesem Szenario können die Wenn -Anweisungen im zweiten Vergleichsvorgang übersprungen.

Hinweise

  • Dieses Problem kann auch auftreten, wenn die Option/O2 oder/Ox verwenden, um die Anwendung zu erstellen.

  • Dieses Problem tritt nicht auf die X86 Plattform.

Ursache

Dieses Problem tritt auf, weil der Compiler Optimierer falsch setzt voraus, dass das Flag XOR-Operation festgelegt verwendet werden kann, ohne eine Vergleichsoperation.

Problemlösung

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Wenden Sie dieses Hotfix nur auf Systeme an, bei denen das in diesem Artikel beschriebene Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download zur Verfügung steht, gibt es einen Abschnitt "Hotfixdownload available" ("Hotfixdownload verfügbar"), am oberen Rand dieses Knowledge Base-Artikel. Wenn dieser Abschnitt nicht angezeigt wird, wenden Sie sich an den Microsoft Customer Service and Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Für eine vollständige Liste der Telefonnummern des Microsoft Customer Service and Support, oder um eine separate Serviceanfrage zu erstellen, gehen Sie auf folgende Microsoft-Website:

http://support.microsoft.com/contactus/?ws=supportHinweis Das Formular "Hotfix download available" ("Hotfixdownload verfügbar") zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist dieser Hotfix für Ihre Sprache nicht verfügbar.

Voraussetzungen

Sie müssen Visual Studio 2005 SP 1 installiert, um diesen Hotfix anwenden.

Neustartanforderung

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes durchführen.

Informationen zu ersetzten Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

Plattform

C2.dll

14.0.50727.3080

2,273,280

19. November 2008

18:52

x86

C2.dll

14.0.50727.3080

7,192,576

19. November 2008

23:25

IA-64

C2.dll

14.0.50727.3080

2,490,368

19. November 2008

23:26

x86

C2.dll

14.0.50727.3080

3,600,384

19. November 2008

23:33

x64

C2.dll

14.0.50727.3080

2,203,648

19. November 2008

23:33

x86

PROBLEMUMGEHUNG

Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:

  • Verwenden Sie das volatile-Schlüsselwort, wenn Sie Variablen deklarieren, die in der Wenn -Anweisung verwendet werden.

  • Deaktivieren Sie Optimierung von Geschwindigkeit. Beispielsweise ersetzen Sie die/Ot -Option mit der Option/OS (kleinen Code bevorzugen) . Oder verwenden Sie die Option/O1 anstelle der Option/O2 oder/Ox .

  • Hinzufügen einer Codezeile, bevor Wenn Anweisungen im zweiten Vorgang vergleichen. Beispielsweise eine Printf -Anweisung hinzufügen.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Weitere Informationen über eine oder mehrere Code, Aussagen falsch ausgeführt werden können, wenn die Optimierungsfunktion Code in Visual Studio 2005 verwenden klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

925792 mindestens Befehlscode möglicherweise nicht ordnungsgemäß ausgeführt, wenn die Optimierungsfunktion Code in Visual Studio 2005 verwenden

Um weitere Informationen zur Terminologie für Softwareupdates zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:

824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×