症状
请考虑以下情形:
-
您开发 Microsoft Visual C++ 2010年应用程序在使用 Microsoft Visual Studio 2010 中的结构中的位字段成员。
-
启用优化编译器选项设置为该应用程序,然后生成该应用程序。
-
运行该应用程序。
在此方案中,不正确的机器代码可能会生成对结构中某些位字段成员操作。
解决方案
修补程序信息
受支持的修补程序现已从 Microsoft 推出。但是,它旨在纠正本文介绍的问题。它仅应用于正经历此特定问题的系统。
若要解决此问题,请联系 Microsoft 客户支持服务以获取此修复程序。有关 Microsoft 客户支持服务的电话号码和有关支持费用的信息的完整列表,请访问下面的 Microsoft 网站︰
http://support.microsoft.com/contactus/?ws=support注意: 在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能取消的通常情况下收取的电话支持服务费用。照常收取支持费用将应用于其他支持问题和对于特定更新无法解决的问题。
系统必备组件
若要应用此修补程序,您必须具有 Microsoft Visual Studio 2010 SP1 安装。
重启要求
不需要重新启动计算机,如果受影响的文件未被使用在安装时安装此修复程序后。我们建议您在安装此修复程序之前关闭所有 Visual Studio 2010 相关的组件。
此修补程序的全球版本具有的文件属性 (或更新的文件属性) 在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 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 |
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
解决方法
要解决此问题,请使用下列方法之一︰
-
使用/Od优化编译器选项关闭优化。
-
使用optimize杂注来打开或关闭的优化函数的基础上。
-
升级到 Microsoft Visual Studio 2012。
参考资料
有关optimize杂注有关详细信息,请访问下面的 MSDN 网站︰
有关优化杂注的一般信息有关/O优化选项的详细信息,请访问以下 MSDN 网站︰