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

Проблемы

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

  • Отметьте опцию глобальной оптимизации (/og/Og) с помощью одного из следующих параметров:

    • /O1

    • /O2

    • /Ox

  • Создание исходного файла Microsoft Visual C++ с помощью Microsoft Visual Studio 2008 Пакет обновления 1 (SP1).

  • Исходный файл вызывает функцию setjmp , функция longjmp или обе функции.

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

Причина

Эта проблема возникает, потому что оптимизатор не учитывает setjmp функция или функция longjmp . Это заставляет оптимизатор неправильно рассчитать время существования локальных переменных. При изменении одной переменной другой переменной может быть изменено неожиданно.

Решение

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

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

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

http://code.msdn.microsoft.com/KB2498381Примечание. Коллекции кода MSDN отображаются языки, для которых доступно исправление. Если в списке язык не отображается, это недоступности страница коллекции кода для этого языка. Или можно загрузить это исправление из следующей веб-сайте Microsoft Connect:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826

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

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

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

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

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

Это исправление не заменяет ранее выпущенные исправления.

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

Глобальная версия этого исправления устанавливает файлы с атрибутами, которые указаны в приведенных ниже таблицах. Даты и время для файлов указаны в формате UTC. Даты и время для этих файлов на локальном компьютере отображаются с учетом часового пояса и перехода на летнее время. Кроме того, даты и время могут изменяться при выполнении определенных операций с файлами.

Имя файла

Версия файла

Размер файла

дата

Время

Платформа

C2.dll

15.0.30729.6147

2,283,840

25 февраля 2011 г.

01:25

x86

C2.dll

15.0.30729.6147

2,362,688

25 февраля 2011 г.

01:25

x86

C2.dll

15.0.30729.6147

2,493,248

25 февраля 2011 г.

01:25

x86

C2.dll

15.0.30729.6147

3,018,048

25 февраля 2011 г.

01:25

x64

C2.dll

15.0.30729.6147

7,263,040

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

1,055,560

25 февраля 2011 г.

01:25

x64

Link.exe

9.0.30729.6147

2,135,368

25-Feb-2011

01:25

IA-64

Link.exe

9.0.30729.6147

800,584

25-Feb-2011

01:25

x86

Обходное решение

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

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

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

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

824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

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

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

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

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

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

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

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

×