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

Симптоми

Използвате опцията за компилатор /Ot (полза бързо код) , когато създавате приложение, което е конфигурирано на x64 платформа на Microsoft Visual Studio 2005 Service Pack 1 (SP1). Когато стартирате програмата, някои Ако отчети може да се изпълнява неправилно. Следователно резултатите са непредвидими. Например Ако отчети може да се отстраняват в генерирания код на приложението.

Този проблем възниква само в следния сценарий.

  • Има някои MOV инструкции между две операции за сравнение.

  • Тези сравнение операции използва същото операндите.

  • Стойностите на операндите се променят от MOV инструкциите.

В този случай може да се отстраняват Ако отчети във втория сравнение операция.

Бележки

  • Този проблем може да възникне, когато използвате /O2 /Ox опцията или за изграждане на приложението.

  • Този проблем не възниква при x86 платформа.

Причина

Този проблем възниква, защото оптимизатора на компилатор неправилно приема, че флага, който е зададен от XOR операцията може да се използва без да включва сравнение на операцията.

Решение

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

Поддържана актуална корекция се предлага от Microsoft. Тази актуална корекция обаче е предназначена да коригира само проблема, описан в тази статия. Прилагайте тази корекция само към системи, изпитващи конкретния проблем, описан в тази статия. Може да се проведат допълнителни тестове на тази актуална корекция. Следователно ако не сте силно засегнати от този проблем, препоръчваме да изчакате следващата актуализация на софтуера, който ще съдържа тази корекция.

Ако актуалната корекция е налична за изтегляне, има секция "Налично изтегляне предлага" в горната част на тази статия от базата знания. Ако тази секция не се появява, свържете се с Microsoft за обслужване на клиенти и поддръжка, за да получите актуалната корекция.

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

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

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

Трябва да имате Visual Studio 2005 SP 1, за да приложите тази актуална корекция.

Изискване за рестартиране

Не трябва да рестартирате компютъра, след като приложите тази актуална корекция.

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

Тази актуална корекция не замества други спешни корекции.

Файлова информация

Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента " Дата и час " в контролния панел.

Име на файл

Версия на файла

Размер на файла

Дата

Време

Платформа

C2.dll

14.0.50727.3080

2,273,280

19-Nov-2008

18:52

x86

C2.dll

14.0.50727.3080

7,192,576

19-Nov-2008

23:25

IA-64

C2.dll

14.0.50727.3080

2,490,368

19-Nov-2008

23:26

x86

C2.dll

14.0.50727.3080

3,600,384

19-Nov-2008

23:33

x64

C2.dll

14.0.50727.3080

2,203,648

19-Nov-2008

23:33

x86

Заобикаляне на проблема

За да заобиколите този проблем, използвайте един от следните методи:

  • Използвайте нестабилни ключова дума, когато Вие декларирате променливи, които се използват в отчети, Ако .

  • Забранете опцията за оптимизиране на скоростта. Например заместете /Ot опция с опцията /Os (услуга код) . Или използвайте опцията /O1 вместо /O2 /Ox опцията или.

  • Добавяне на код линия преди Ако отчети във втория сравняване на операцията. Например Добавете формат декларация.

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

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

За повече информация за един или повече отчети може да изпълни неправилно, когато използвате функцията за оптимизация на код в Visual Studio 2005 щракнете върху следния номер на статия в базата знания на Microsoft:

925792 един или повече отчети код може да изпълни неправилно при използване на функцията за оптимизация на код на Visual Studio 2005

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

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

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

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

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

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

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

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

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

×