Вступ
У цій статті описано виправлення усуває наступні проблеми в Microsoft Visual Studio 2010.
Проблема 1
Неочікувана поведінка спостерігається під час запуску застосунку, який має циклів у вихідному коді. Ця проблема може виникати, вихідний код, що складається з глобальної оптимізації (/ о.) увімкнуто.
Проблема 2
Розглянемо таку ситуацію:
-
У вас Visual C++ проект, який містить файл Atlcomcli.h.
-
Ви вказуєте /J компілятор можна визначити за_CHAR_UNSIGNEDу проекті.
-
Проект компіляції.
У цьому випадку з'являється одне з таких повідомлень про помилку:
-
Помилка C2338: CVarTypeInfo < символ > не можна скомпілювати /J або _CHAR_UNSIGNED позначки
-
Помилка C2338: CVarTypeInfo < символ * > не можна скомпілювати /J або _CHAR_UNSIGNED позначки
Проблема 3
Відбувається порушення доступу під час запуску застосунку Visual C++, побудованого на базі x86 версію Windows. Ця проблема виникає, коли застосунок до дерева із двох вхідні аргументи масив типу.
Причина
Причиною проблеми 1
Ця проблема виникає в тому, що виконується неправильно цикл оптимізація. Це призводить до неправильний код.
Причиною проблеми 2
Ця проблема виникає в тому, що статичний тверджень у файлі Atlcomcli.h встановлено параметр /J і макрос CHAR_UNSIGNED неправильно.
Причиною проблеми 3
Ця проблема виникає в тому, що змішані аргументів натисніть інструкції. Таким чином, неправильні аргументи передаються на інструкції.
Додаткові відомості
Відомості про виправлення
Корпорація Майкрософт випустила підтримуване виправлення доступна. Проте призначена для вирішення проблеми, описаної в цій статті. Він придатний лише для систем, які зазнають цієї конкретної проблеми. Те, що це виправлення може потребувати додаткового тестування. Таким чином, якщо ви не завдає значної, ми рекомендуємо чекати далі Visual Studio 2010, що містить це виправлення.
Щоб вирішити цю проблему негайно зверніться до служби підтримки Microsoft, щоб отримати виправлення. Повний перелік телефонів служби підтримки користувачів корпорації Майкрософт а також відомості про вартість обслуговування відвідайте веб-сайт корпорації Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримітка. В окремих випадках оплату звернення до служби підтримки може бути скасовано якщо технічної підтримки Майкрософт визначить, що телефонів служби. Плата стягується на додаткові питання і проблеми, які не пов'язані з оновленням.
Попередні вимоги
Потрібно мати Microsoft Visual Studio 2010 для застосування цього виправлення.
Необхідність перезавантаження
Вам не потрібно перезавантажити комп'ютер, після інсталяції виправлення, якщо використовується без відповідного файлу.
Відомості про заміну виправлень
Це виправлення не замінює жодних інших виправлень.
Відомості про файли
Англійська версія цього виправлення на комп'ютері має атрибути файлів (або новіші атрибути файлів), подані в нижченаведеній таблиці. Значення дати й часу для цих файлів наведено за всесвітнім координованим часом (UTC). Переглядаючи відомості про файл, час конвертується у місцевий час. Щоб визначити різницю між UTC і місцевим часом, відкрийте в
Часовий пояс
у полі
Дата й час
на панелі керування.
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
---|---|---|---|---|---|
C2.dll |
16.0.30319.314 |
2,510,144 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,588,480 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,630,976 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,977,600 |
30-May-2010 |
20:48 |
x64 |
C2.dll |
16.0.30319.314 |
7,351,616 |
30-May-2010 |
20:48 |
IA-64 |
Виправлення помилок
Вирішення проблеми 1
Щоб вирішити цю проблему, вимкніть, глобальної оптимізації. Щоб отримати додаткові відомості про те, як вимкнути глобальної оптимізації, клацніть номер статті в базі знань Microsoft Knowledge Base:
ВИПРАВЛЕННЯ в 216181 : неправильний код, створені /Og оптимізація
Вирішення проблеми 2
Щоб вирішити цю проблему, за допомогою таких pragma Директива Atlcomcli.h-файлу.
#pragma push_macro("ATLSTATIC_ASSERT")
#undef ATLSTATIC_ASSERT
#define ATLSTATIC_ASSERT(x,y)
#include <atlcomcli.h>
#undef ATLSTATIC_ASSERT
#pragma pop_macro("ATLSTATIC_ASSERT")