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