Симптоми
Да разгледаме следния сценарий:
-
Имате проект на Visual C++ 2010. Код на проекта е структура или клас до 64 байта.
-
Създавате проекта за платформа x64 и използвате опцията /O2 компилатор.
-
Стартирайте приложението.
В този случай възниква нарушаване на достъпа и приложението се срива.
Причина
Този проблем възниква, защото x64 базирани компилатор на Visual Studio 2010 оптимизира кода като регулирате разпределение подравняване на данни от 64 байта 16 байта. Затова памет проблем се дължи на обектите, които надвишават 64 байта.
Решение
Информация за актуалната корекция
Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи този конкретен проблем. Може да се проведат допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, който ще съдържа тази корекция. За да изтеглите актуалната корекция от MSDN Code Gallery, посетете следния уеб сайт на Microsoft:
http://code.msdn.microsoft.com/KB2280741Забележка MSDN Code Gallery показва езиците, за които е налична актуалната корекция. Ако не виждате вашия език, това е защото Code Gallery ресурс страница не е налична за този език. Забележка Ако възникнат допълнителни проблеми или проблеми, трябва да създадете отделна заявка за поддръжка. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към конкретната актуална корекция. За пълен списък на телефонните номера на Microsoft за обслужване на клиенти и поддръжка или да създадете отделна заявка за поддръжка посетете следния уеб сайт на Microsoft:
http://support.microsoft.com/contactus/?ws=supportМожете да изтеглите тази актуална корекция, като посетите следния уеб сайт на Microsoft:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
Необходими условия:
За да приложите тази актуална корекция, трябва да имате инсталиран Visual Studio 2010.
Изискване за рестартиране
Не трябва да рестартирате компютъра след прилагане на актуалната корекция.
Информация за заместване на актуалната корекция
Тази актуална корекция не замества други спешни корекции.
Файлова информация
Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента " Дата и час " в контролния панел.
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
Платформа |
---|---|---|---|---|---|
C2.dll |
16.0.30319.345 |
2,510,144 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,588,480 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,630,976 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,977,088 |
01-Aug-2010 |
23:42 |
x64 |
C2.dll |
16.0.30319.345 |
7,351,616 |
01-Aug-2010 |
23:42 |
IA-64 |
Заобиколно решение
За да заобиколите този проблем, не използвайте /O2 компилатор опция, когато създавате проекта.
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".