Applies ToVisual Studio Community 2013 Visual Studio 2013 SDK

症状

根据 MSDN 库中,当您编译 C 或 c + + 源代码使用 Visual C++ 2013 C/c + + 编译器,Visual C++ 2013年应该会检测到某一缓冲区溢出情况下 (当然,只是那些可以在检测到编译时) 和发出警告 C4789但是,某些缓冲区溢出不捕获了所有的优化设置 Visual C++ 2013,即使您已经安装了 Visual Studio 2013年更新 5。没有 C4789 发出警告的较早版本的 Visual C++ 2010年已经成功发出警告 C4789。注意:安装此修复程序后,Visual C++ 2013年可以检测缓冲区溢出,并发出警告 C4789 版本的配置生成 (如果未使用/Od )。

原因

由于 Visual Studio 2013 C/c + + 编译器中存在的问题,会出现此问题。

解决方案

修补程序信息

下列文件已可从 Microsoft 下载中心下载: Download 立即下载此修补程序包。有关如何下载 Microsoft 支持文件的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

119591如何从联机服务获得 Microsoft 支持文件Microsoft 已对此文件进行病毒扫描。Microsoft 使用自该文件发布日期起可用的最新的病毒检测软件。该文件存储在安全增强型服务器上,帮助防止对文件进行任何未经授权的更改。

系统必备组件

若要应用此修补程序,您必须安装的 Visual Studio 2013年。

注册表信息

若要使用此程序包中的修复程序,您不必对注册表进行任何更改。

重启要求

您不必应用此修复程序后重新启动计算机。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

解决方法

若要变通解决此问题,请使用/Oi编译器开关或代码分析来检测缓冲区溢出在编译时的多个实例。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。