Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Symptom

Du kan använda /Ot (fördel snabb kod) kompilatoralternativ när du skapar ett program som är konfigurerade på x64 plattform i Microsoft Visual Studio 2005 Service Pack 1 (SP1). När du kör programmet köras felaktigt vissa rapporter om . Resultaten är därför oförutsägbara. Till exempel hoppas om rapporterna över i den genererade koden i programmet.

Det här problemet uppstår endast i följande fall.

  • Det finns vissa MOV instruktioner mellan två jämför operationer.

  • Dessa jämför operationer används samma operander.

  • Värden av operanderna ändras av MOV-instruktioner.

I det här fallet hoppas om uttryck i andra jämförelsen.

Kommentarer

  • Det här problemet kan även uppstå när du använder alternativet /O2 eller /Ox alternativet för att bygga programmet.

  • Det här problemet uppstår inte på en x86 plattform.

Orsak

Det här problemet uppstår eftersom kompilatorn optimering felaktigt förutsätter att flagga som anges av XOR-operationen kan användas utan att inkludera en jämförelsen.

Lösning

Information om snabbkorrigeringen

En snabbkorrigering är tillgänglig från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den här snabbkorrigeringen endast på datorer som har problemet som beskrivs i denna artikel. Snabbkorrigeringen kan komma att testas igen. Om du inte störs alltför mycket av detta problem rekommenderar vi att du väntar på nästa programuppdatering som innehåller den här snabbkorrigeringen.

Om snabbkorrigeringen är tillgänglig för hämtning finns ett avsnitt för "Snabbkorrigeringen är tillgänglig" överst i den här Knowledge Base-artikeln. Om den sektionen saknas, kontakta Microsofts support för att få tag på hotfixen.

Obs! Om det uppstår ytterligare problem eller krävs felsökning, kan du behöva skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över telefonnummer för Microsofts kundtjänst och Support eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:

http://support.microsoft.com/contactus/?ws=supportObs! "Snabbkorrigeringen tillgänglig"-formuläret visar de språk som snabbkorrigeringen är tillgänglig. Om ditt språk inte visas beror det på att ingen snabbkorrigering är tillgänglig för språket.

Förutsättningar

Du måste ha Visual Studio 2005 SP 1 installerat för att kunna installera den här snabbkorrigeringen.

Krav på omstart

Du behöver inte starta om datorn när du har installerat den här snabbkorrigeringen.

Ersättningsinformation för Hotfix

Den här snabbkorrigeringen ersätter inte några andra snabbkorrigeringar.

Filinformation

Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.

Filnamn

Filversion

Storlek

Datum

Tid

Plattform

C2.dll

14.0.50727.3080

2,273,280

19-Nov-2008

18:52

x86

C2.dll

14.0.50727.3080

7,192,576

19-Nov-2008

23:25

IA-64

C2.dll

14.0.50727.3080

2,490,368

19-Nov-2008

23:26

x86

C2.dll

14.0.50727.3080

3,600,384

19-Nov-2008

23:33

x64

C2.dll

14.0.50727.3080

2,203,648

19-Nov-2008

23:33

x86

Temporär lösning

Undvik det här problemet genom att använda någon av följande metoder:

  • Använd nyckelordet flyktiga när du deklarerar variabler som används i rapporter om .

  • Inaktivera alternativet för optimering av hastigheten. Till exempel Ersätt alternativet /Ot med alternativet /Os (fördel liten kod) . Eller använda alternativet /O1 i stället för alternativet /O2 eller den /Ox .

  • Lägga till en rad med kod innan om -uttryck i andra jämföra åtgärden. Exempelvis lägga till en printf -sats.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Mer Information

Mer information om kod för en eller flera rapporter kan köras felaktigt när du använder funktionen för optimering av kod i Visual Studio 2005 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

925792 ett eller flera Koduttryck kan köras felaktigt när du använder funktionen för optimering av kod i Visual Studio 2005

För mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

824684 beskrivning av standardterminologin som används för att beskriva Microsoft-programuppdateringar

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×