Applies ToVisual Studio 2010

Ознаки

Розглянемо таку ситуацію:

  • У вас проект Visual C++-2010. Вихідний код проекту, має структуру або класу, який перевищує 64 байт.

  • Створення проекту з на базі x64-платформи, а також використовується параметр /O2 компілятор.

  • Запуску застосунку.

У цьому випадку відбувається порушення доступу, а також аварійне завершення роботи програми.

Причина

Ця проблема виникає в тому, що на базі x64 компілятор Visual Studio 2010 оптимізує, код, змінивши розміщення вирівнювання дані 64 байт 16 байт. Таким чином, пам'ять-проблема виникає в тому, для об'єктів, що перевищує 64 байт.

Спосіб вирішення

Відомості про виправлення

Виправлення доступне від корпорації Майкрософт. Проте, це виправлення призначене тільки для вирішення проблеми, описаної в цій статті. Застосовуйте це виправлення лише до систем, які зазнають цієї конкретної проблеми. Це виправлення може отримати додаткове тестування. Тому, якщо ця проблема не сильно впливає на вас, ми рекомендуємо почекати наступного оновлення програмного забезпечення, що містить це виправлення. Щоб завантажити це виправлення MSDN Code Gallery, перейдіть на веб-сайт корпорації Майкрософт:

http://code.msdn.microsoft.com/KB2280741Примітка. MSDN Code Gallery, відображається список мов, для яких це виправлення доступне. Якщо ви не бачите мову у списку, це тому, що сторінка ресурсів для Code Gallery недоступна для цієї мови. Примітка. Якщо виникають додаткові проблеми, або потрібно виявлення проблем, можливо, доведеться створити окремий запит на обслуговування. Звичайні кошти на технічну підтримку будуть застосовуватися для додаткових питань і проблем, які не пов'язані з цим виправленням. Для повного списку телефонів служби підтримки користувачів і технічної підтримки, або щоб створити окремий запит на обслуговування відвідайте веб-сайт корпорації Microsoft:

http://support.microsoft.com/contactus/?ws=supportЦе виправлення також можна завантажити, відвідавши веб-сайт корпорації Майкрософт:

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 під час створення проекту.

Стан

Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.