Může dojít k selhání aplikace Visual C++ 2010 Win32 nebo jiné funkce selhání může dojít, pokud projekt je zkompilován _fastcall a možnost optimalizace kompilátoru


Příznaky


Jde o takovouto situaci:
  • Vytvoření projektu Microsoft Visual C++ 2010 Win32 systémem.
  • Použití klíčového slova _fastcall v některé funkce projektu. Nebo nastavte vlastnost Volání úmluvy pro projekt na _fastcall.
  • Povolte jednu z možností optimalizace kompilátoru v aplikaci Microsoft Visual Studio 2010. Například povolit Maximalizovat rychlost (/ O2) možnost optimalizace kompilátoru.

    Poznámka: Pokud je povolena možnost optimalizace kompilátoru, funkce vrátí hodnotu optimalizace (RVO) je povoleno v aplikaci Visual Studio 2010.
  • Zkompilujte projekt a spusťte aplikaci.
V tomto scénáři může dojít k selhání aplikace nebo jiné funkce selhání může dojít.

Například aplikace dojde k chybě z důvodu výjimky narušení přístupu.

Příčina


K tomuto problému dochází, protože nesprávný kód je generována při kompilaci aplikace pomocí _fastcall , pokud je povolena funkce RVO. Nesprávný kód přepíše paměti náhodně. Proto může dojít selhání různé funkce.

Řešení


Informace o opravě hotfix

Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Je však určena opravit pouze problém popsaný v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud nejste vážně ohrožen tímto problémem, doporučujeme počkat na další aktualizaci softwaru, která obsahuje tuto opravu hotfix.

Chcete-li tento problém vyřešit okamžitě, obraťte se na technickou podporu společnosti Microsoft získat opravu hotfix. Úplný seznam telefonních čísel služeb podpory zákazníků společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:Poznámka: Ve zvláštních případech mohou být stornovány poplatky, které jsou třeba obvykle zaplatit za telefonní hovory, pokud pracovník služeb podpory společnosti Microsoft určí, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.



Předpoklady

Chcete-li nainstalovat tuto opravu hotfix, musí mít Microsoft Visual Studio 2010.

Požadavek na restartování

Nemáte k restartování počítače po instalaci této opravy hotfix.

Informace o nahrazení opravy hotfix

Tato oprava hotfix nenahrazuje žádné další opravy hotfix.

Informace o souboru

Anglická verze této opravy hotfix má atributy (nebo pozdější atributy souborů) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převeden na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo v položce Datum a čas v okně Ovládací panely.


Pro všechny podporované verze aplikace Visual Studio 2010
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
C2.dll16.0.30319.3792,508,60825-Oct-201008:42x86
C2.dll16.0.30319.3792,588,99225-Oct-201008:42x86
C2.dll16.0.30319.3792,629,44025-Oct-201008:42x86
C2.dll16.0.30319.3792,975,55225-Oct-201008:42x64
C2.dll16.0.30319.3797,351,61625-Oct-201008:42IA-64

Stav


Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".