Objawy
Rozważ następujący scenariusz:
-
Opracowywania aplikacji Microsoft Visual C++ 2010, który używa członkowie pole bitowe Konstrukcja struct języka Microsoft Visual Studio 2010.
-
Włącz opcję optymalizacji kompilatora dla aplikacji, a następnie utworzenie aplikacji.
-
Uruchom aplikację.
W tym scenariuszu niepoprawny kod maszynowy mogą być generowane dla niektórych operacje składowe pola bitowe w strukturze.
Rozwiązanie
Informacje o poprawce
Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem.
Aby rozwiązać ten problem, skontaktuj się z biurem obsługi klienta Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o kosztach, odwiedź następującą witrynę sieci Web firmy Microsoft:
http://support.microsoft.com/contactus/?ws=supportUwaga W wyjątkowych przypadkach opłaty za połączenie z pomocą techniczną mogą zostać anulowane, jeśli specjalista firmy Microsoft zdecyduje że określona aktualizacja, może rozwiązać Twój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.
Wymagania wstępne
Aby zastosować tę poprawkę, musi mieć Microsoft Visual Studio 2010 SP1 zainstalowane.
Wymagania dotyczące ponownego uruchomienia
Nie trzeba ponownie uruchomić komputer po zainstalowaniu poprawki, jeśli nie są używane pliki podlegające luce w czasie instalacji. Zaleca się zamknięcie wszystkich elementów związanych z programu Visual Studio 2010, przed zainstalowaniem poprawki.
Wersja globalna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Godzina |
Platforma |
Ścieżka |
---|---|---|---|---|---|---|
C2.dll |
16.0.40219.449 |
2,606,728 |
18-Apr-2013 |
18:09 |
x86 |
Microsoft Visual Studio 10.0\VC\bin |
C2.dll |
16.0.40219.449 |
2,493,576 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_amd64 |
C2.dll |
16.0.40219.449 |
2,593,928 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_ia64 |
C2.dll |
16.0.40219.449 |
2,960,008 |
19-Apr-2013 |
21:19 |
x64 |
Microsoft Visual Studio 10.0\VC\bin\amd64 |
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Obejście problemu
Aby obejść ten problem, użyj jednej z następujących metod:
-
Użyj opcję kompilatora optymalizacjiOd /, aby wyłączyć funkcję optymalizacji.
-
Użycie optymalizacji pragmy włączyć lub wyłączyć funkcję optymalizacji na podstawie funkcji przez funkcję.
-
Uaktualnienie do programu Microsoft Visual Studio 2012.
Powiązane artykuły
Aby uzyskać więcej informacji na temat pragmy Optymalizuj przejdź do następującej witryny sieci Web MSDN:
Ogólne informacje dotyczące optymalizacji pragmyAby uzyskać więcej informacji o opcjach optymalizacji /O przejdź do następującej witryny sieci Web MSDN: