Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Въведение

Актуалната корекция, описана в тази статия решава следните проблеми в 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

Този проблем възниква, защото аргументи push инструкции са смесени. Затова неправилни параметри се предават за инструкции.

Допълнителна информация

Информация за актуалната корекция

Вече се предлага от Microsoft предоставя поддържана актуална корекция. Но тя е предназначена да коригира само проблема, описан в тази статия. Прилагайте корекцията само към системи, изпитващи този конкретен проблем. Възможно е провеждането на допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващия Visual Studio 2010, който ще съдържа тази корекция.

За незабавно решаване на проблема, се обърнете към услугите за поддръжка на клиенти на Microsoft да получите актуалната корекция. За пълен списък на телефонните номера на отдела за поддръжка на Microsoft и информация за цените на поддръжката посетете следния уеб сайт на Microsoft:

http://support.microsoft.com/contactus/?ws=supportЗабележка: При специални случаи таксите, които се начисляват за свързани с поддръжката обаждания могат да бъдат отменени, ако специалист по поддръжката на Microsoft прецени, че конкретна актуализация може да разреши проблема. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към съответната актуализация.

Необходими условия:

Трябва да имате 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:

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")

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×