Príznaky

Predstavte si nasledujúcu situáciu:

  • Zapnete možnosť globálna optimalizácia (/Og) tým, že jednu z nasledujúcich možností:

    • /O1

    • /O2

    • /Ox

  • Môžete vytvoriť Microsoft Visual C ++ zdrojový súbor pomocou Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • Zdrojový súbor volá setjmp funkcie, longjmp alebo funkcií.

V takomto prípade kompilátor môže používať rovnaké zásobníka posun ukladať rôzne lokálne premenné. Neočakávané správanie sa môže vyskytnúť, keď spustíte generované žiadosti.

Príčina

Tento problém sa vyskytuje, pretože optimalizácia nezohľadňuje setjmp funkcia alebo longjmp funkcia. To spôsobuje optimalizáciu správne vypočítať životnosti lokálne premenné. Pri zmene premenných inej premennej môže neočakávane zmení.

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 problém 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 chcete tento problém vyriešiť okamžite, obráťte sa na služby technickej podpory spoločnosti Microsoft a požiadajte o rýchlu opravu. Úplný zoznam telefónnych čísel služieb zákazníkom spoločnosti Microsoft a podpora alebo postup, ako vytvoriť samostatnú servisnú požiadavku, nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:

http://support.microsoft.com/contactus/?ws=supportPoznámka: V niektorých zvláštnych prípadoch sa môžu zrušiť poplatky za telefonickú podporu, ak pracovník služieb technickej podpory spoločnosti Microsoft usúdi, že daný problém sa vyrieši nainštalovaním určitej aktualizácie. Ďalšie otázky a žiadosti o technickú podporu, ktoré sa netýkajú tejto špecifickej aktualizácie, podliehajú bežným sadzbám za poskytovanie technickej podpory. Ak chcete prevziať túto rýchlu opravu z Microsoft Developer Network (MSDN) Code Gallery, nájdete na nasledujúcej webovej lokalite spoločnosti Microsoft:

http://code.msdn.microsoft.com/KB2498381Poznámka: MSDN Code Gallery sa zobrazujú jazyky, pre ktoré je rýchla oprava k dispozícii. Ak nevidíte svoj jazyk v zozname, znamená to, že stránka Code Gallery nie je pre tento jazyk k dispozícii. Alebo tejto rýchlej opravy môžete prevziať z nasledujúcej webovej lokalite Microsoft Connect:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826

Požiadavky

Ak chcete použiť túto rýchlu opravu, musíte mať Microsoft Visual Studio 2008 Service Pack 1 nainštalovaný.

Informácie o reštartovaní

Nemáte na reštartovanie počítača po nainštalovaní tejto rýchlej opravy, ak sa zastaví všetky inštancie programu Visual Studio.

Informácie o nahradení rýchlej opravy

Táto rýchla oprava nenahrádza predchádzajúcu rýchlu opravu.

Informácie o súboroch

Globálna verzia tejto rýchlej opravy inštaluje súbory, ktorých atribúty sú uvedené v nasledujúcich tabuľkách. Dátumy a časy jednotlivých súborov sú uvedené vo formáte UTC (Coordinated Universal Time). Dátumy a časy pre tieto súbory v lokálnom počítači sú zobrazené v miestnom čase a podľa aktuálneho nastavenia funkcie prechodu na letný čas. Dátumy a časy sa okrem toho môžu zmeniť aj pri vykonávaní určitých operácií so súbormi.

Názov súboru

Verzia súboru

Veľkosť súboru

Dátum

Čas

Platforma

C2.dll

15.0.30729.6147

2,283,840

25-Feb-2011

01:25

x86

C2.dll

15.0.30729.6147

2,362,688

25-Feb-2011

01:25

x86

C2.dll

15.0.30729.6147

2,493,248

25-Feb-2011

01:25

x86

C2.dll

15.0.30729.6147

3,018,048

25-Feb-2011

01:25

x64

C2.dll

15.0.30729.6147

7,263,040

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

1,055,560

25-Feb-2011

01:25

x64

Link.exe

9.0.30729.6147

2,135,368

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

800,584

25-Feb-2011

01:25

x86

Alternatívne riešenie

Tento problém vyriešite inicializovať lokálne premenné už vo funkcii tak, že kompilátor môže byť vedomí premenné životnosti.

Stav

Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.

Ďalšie informácie

Ď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žívanej 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ú

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?

Ďakujeme za vaše pripomienky!

×