Oprava: Keď spustíte aplikáciu, ktorá je zostavená pomocou /Ot kompilátor možnosť v Microsoft Visual Studio 2005 Service Pack 1 (SP1), niektoré "Ak" vyhlásenie môže pracovať správne

Príznaky

Používate /Ot (prospech rýchlo kód) kompilátor možnosť, pri vytváraní aplikácie, ktorá je nakonfigurovaná na x64 platformu Microsoft Visual Studio 2005 Service Pack 1 (SP1). Keď spustíte aplikáciu, niektoré Ak vyhlásenie môže pracovať správne. Preto, výsledky sú nepredvídateľné. Napríklad Ak vyhlásenia môžu byť vynechané vygenerovaný kód aplikácie.

Tento problém sa vyskytuje len v nasledovných scenároch.

  • Existuje niekoľko pokynov MOV medzi dvoma porovnanie operácie.

  • Porovnanie tieto operácie použiť rovnaké operátory.

  • Podľa pokynov MOV sa zmenia hodnoty operátory.

V takomto prípade sa môžu vynechať Ak vyhlásenie v druhom porovnanie.

Poznámky

  • Tento problém môže vyskytnúť aj použijete možnosť/O2 alebo /Ox Zostavte aplikáciu.

  • Tento problém sa nevyskytuje x86 platformu.

Príčina

Tento problém sa vyskytuje, pretože kompilátor optimalizácia nesprávne predpokladá, že príznak nastavený operáciu XOR používať bez toho, aby operácie porovnanie.

Riešenie

Informácie o rýchlej oprave

Od spoločnosti Microsoft je k dispozícii podporovaná rýchla oprava. Táto rýchla oprava je však určená iba opravu problému, ktorý je popísaný v tomto článku. Rýchlu opravu použite len v systémoch, v ktorých sa vyskytuje problém popísaný v tomto článku. Táto rýchla oprava môže byť ďalej testovaná. Ak nie ste výrazne ovplyvnení týmto problémom, odporúčame vám počkať na ďalšiu aktualizáciu softvéru, ktorá bude obsahovať túto rýchlu opravu.

Ak je rýchla oprava k dispozícii na stiahnutie, na začiatku tohto článku databázy Knowledge Base sa nachádza časť „K díspozícii je rýchla oprava na stiahnutie“. Ak sa táto časť nezobrazuje, obráťte sa na oddelenie služieb zákazníkom a technickej podpory spoločnosti Microsoft a požiadajte o poskytnutie tejto rýchlej opravy.

Poznámka: Ak sa vyskytnú ďalšie problémy alebo ak je potrebné riešiť problémy, je možné, že budete musieť vytvoriť samostatnú servisnú požiadavku. Na ďalšie žiadosti o podporu a problémy, ktoré sa netýkajú tejto konkrétnej rýchlej opravy, sa vzťahujú zvyčajné poplatky za poskytnutie technickej podpory. Úplný zoznam telefónnych čísel služieb zákazníkom spoločnosti Microsoft a podpora alebo vytvoriť samostatnú servisnú požiadavku, nájdete na webovej lokalite spoločnosti Microsoft:

http://support.microsoft.com/contactus/?ws=supportPoznámka: Formulár "Prevzatie dostupnej rýchlej opravy" sa zobrazuje pre jazyky, pre ktoré je rýchla oprava k dispozícii. Ak nemôžete nájsť požadovaný jazyk, je preto rýchla oprava nie je pre tento jazyk k dispozícii.

Požiadavky

Visual Studio 2005 SP 1 nainštalovaný použiť túto rýchlu opravu, musíte mať.

Požiadavka na reštartovanie

Po použití tejto rýchlej opravy nie je potrebné reštartovať počítač.

Informácie o nahradení rýchlej opravy

Táto rýchla oprava nenahrádza žiadne iné rýchle opravy.

Informácie o súboroch

Anglická verzia tejto rýchlej opravy má atribúty súborov (alebo novšie atribúty) uvedené v nasledujúcej tabuľke. Dátumy a čas jednotlivých súborov sú uvedené vo formáte koordinovaného svetového času (UTC). Pri zobrazení informácií o súbore sa dátumy a čas prevedú na miestny čas. Ak chcete vyhľadať rozdiely medzi časom UTC a miestnym časom, použite kartu Časové pásmo v položke Dátum a čas v ovládacom paneli.

Názov súboru

Verzia súboru

Veľkosť súboru

Dátum

Čas

Platforma

C2.dll

14.0.50727.3080

2,273,280

19. novembra 2008

18:52

x86

C2.dll

14.0.50727.3080

7,192,576

19. novembra 2008

23:25

IA-64

C2.dll

14.0.50727.3080

2,490,368

19. novembra 2008

23:26

x86

C2.dll

14.0.50727.3080

3,600,384

19. novembra 2008

23:33

x64

C2.dll

14.0.50727.3080

2,203,648

19. novembra 2008

23:33

x86

Alternatívne riešenie

Obísť tento problém, použite jednu z nasledujúcich metód:

  • Používajte prchavých kľúčové slová môžete deklarovať premenné používané Ak vyhlásenia.

  • Vypnite možnosť optimalizácia rýchlosti. Napríklad možnosť /Ot nahradiť /Os (prospech kódu) možnosť. Alebo použite možnosť/O1 namiesto možnosť/O2 alebo /Ox .

  • Pridať riadok kódu ako Ak výkazy v druhom porovnanie operácie. Napríklad pridať príkaz printf .

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Ďalšie informácie

Ďalšie informácie o jeden alebo viac výpisov môže pracovať správne pri použití funkcie optimalizácia kódu Visual Studio 2005, po kliknutí na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:

925792 jeden alebo viac výpisov kód môže pracovať správne pri použití funkcie optimalizácia kódu Visual Studio 2005

Ďalšie informácie o terminológii z oblasti aktualizácií softvéru získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:

824684 Popis štandardnej terminológie použitej na popis aktualizácií softvéru od spoločnosti Microsoft

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Ďakujem za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×