Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Введение

В данной статье исправление устраняет следующие проблемы в Microsoft Visual Studio 2010.

Проблема 1

Можно испытать неожиданное поведение при запуске приложения, которое содержит циклы в исходном коде. Эта проблема возникает, если исходный код компилируется с глобальной оптимизации (/ Og) включен.

Проблема 2

Рассмотрим следующий сценарий:

  • У вас есть проект Visual C++, который содержит файл Atlcomcli.h.

  • Задать параметр компилятора /J для определения_CHAR_UNSIGNEDмакросов в проекте.

  • Скомпилируйте проект.

В этом случае появляется одно из следующих сообщений об ошибке:

  • Ошибка C2338: не удается скомпилировать CVarTypeInfo < char > /J или _CHAR_UNSIGNED флаг включен

  • Ошибка C2338: не удается скомпилировать CVarTypeInfo < char * > /J или _CHAR_UNSIGNED флаг включен

Проблема 3

Нарушение прав доступа при запуске приложения Visual C++, который создан для более x86 версии Windows. Эта проблема возникает, когда приложение имеет дерево выражений, который имеет два входных аргументов типа массива.

Причина

Причина возникновения неполадки 1

Эта проблема возникает из-за неправильного цикл для оптимизации выполняется. В этом случае Некорректное создание кода.

Причина возникновения проблемы 2

Эта проблема возникает, так как статические утверждения в файле Atlcomcli.h параметр /J и макрос CHAR_UNSIGNED неправильно.

Причина возникновения проблемы 3

Эта проблема возникает из-за аргументов инструкции push перемешиваются. Таким образом для передачи инструкции передаются неправильные аргументы.

Дополнительные сведения

Сведения об исправлении

Исправление от корпорации Майкрософт доступно. Тем не менее он предназначен только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего Visual Studio 2010, содержащего это исправление.

Для немедленного решения этой проблемы обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов службы поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-сайт корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

Предварительные условия

Microsoft Visual Studio 2010 для установки этого исправления необходимо иметь.

Необходимость перезагрузки

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

Сведения о замене исправлений

Это исправление не заменяет других исправлений.

Сведения о файлах


Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (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

Чтобы обойти эту проблему, отключите глобальной оптимизации. Дополнительные сведения об отключении глобальной оптимизации щелкните следующий номер статьи базы знаний Майкрософт:

ИСПРАВИТЬ 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")

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×