Симптомы
Рассмотрим следующий сценарий:
-
Разработайте приложение Microsoft Visual C++ 2010, которое использует бит поля элементы в структуре в Microsoft Visual Studio 2010.
-
Включение параметра оптимизации компилятора для приложения, и затем построения приложения.
-
Запустите приложение.
В этом случае неправильные машинного кода может быть создан для определенных операций бит поля члена структуры.
Решение
Сведения об исправлении
Исправление от корпорации Майкрософт доступно. Тем не менее оно предназначено только для устранения проблемы, указанной в данной статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка.
Чтобы устранить эту проблему, обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов службы поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-сайт корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.
Предварительные условия
Для установки этого исправления необходимо иметь Microsoft Visual Studio 2010 SP1 установлены.
Необходимость перезагрузки
Необходимо перезагрузить компьютер после установки исправления, если файлы не используются во время установки. Рекомендуется закрыть все компоненты, связанные с Visual Studio 2010 перед установкой исправления.
Глобальная версия этого исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента Дата и время в панели управления.
Имя файла |
Версия файла |
Размер файла |
Дата |
Время |
Платформа |
Путь |
---|---|---|---|---|---|---|
C2.dll |
16.0.40219.449 |
2,606,728 |
18-Apr-2013 |
18:09 |
x86 |
Microsoft Visual Studio 10.0\VC\bin |
C2.dll |
16.0.40219.449 |
2,493,576 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_amd64 |
C2.dll |
16.0.40219.449 |
2,593,928 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio 10.0\VC\bin\x86_ia64 |
C2.dll |
16.0.40219.449 |
2,960,008 |
19-Apr-2013 |
21:19 |
x64 |
Microsoft Visual Studio 10.0\VC\bin\amd64 |
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Временное решение
Чтобы обойти эту проблему, воспользуйтесь одним из следующих методов:
-
Используйте параметр оптимизации компилятораOd /для отключения оптимизации.
-
Используйте pragma оптимизации для включения или отключения оптимизации на основе функции, функции.
-
Обновления для Microsoft Visual Studio 2012.
Ссылки
Дополнительные сведения о прагму optimize перейти на веб-сайте MSDN:
Общие сведения о pragma оптимизацияДополнительные сведения о параметрах оптимизации /O перейдите на следующий веб-узел MSDN: