用于标记未初始化变量的 VS 2008 编译器选项

Posted

技术标签:

【中文标题】用于标记未初始化变量的 VS 2008 编译器选项【英文标题】:VS 2008 Compiler option for flagging uninitialized variables 【发布时间】:2010-03-30 11:44:58 【问题描述】:

VS 2008 (C++) 中是否有一个编译器选项可以公开未初始化的变量?我正在尝试调试 DLL 的“发布”版本不起作用但 DLL 的“调试”版本确实起作用的问题。

【问题讨论】:

【参考方案1】:

iirc,将警告级别设置为 4 将对此有所帮助

【讨论】:

如果我设置为警告级别 4,则会出现大量消息。有什么简单的方法可以找到实际未初始化的变量? 您可以使用#pragma 禁用您不关心的警告【参考方案2】:

cl.exe sample.cpp /analyzehere是 MSDN 上的链接

您正在寻找警告号码C6001

【讨论】:

我没有“团队版”...我只有VS标准版【参考方案3】:

我的正常调试版本似乎启用了此警告:

warning C4700: uninitialized local variable 'xxx' used

并且警告不存在于发布版本中。

【讨论】:

【参考方案4】:

我不知道这是否仍然相关,但我只是在寻找相同的东西并找到了解决方案。

您可以手动更改单个警告的警告级别。在您的情况下,您必须将此特定警告的级别设置为至少与您配置的默认警告级别一样低(通常为 1 或 2)。

在 C/C++ 设置中的项目设置中输入手动命令行开关:

/wYxxxx

其中 Y 是警告级别(例如 1) 在这种情况下,xxxx 是警告编号,您应该输入

/w14701

干杯

【讨论】:

以上是关于用于标记未初始化变量的 VS 2008 编译器选项的主要内容,如果未能解决你的问题,请参考以下文章

WIN7系统下VS2008 UDF编译不成功求助 用于FLUENT的

使用编译器/链接器进行 C++ 代码清理

VS编译报错:error C4703: 使用了可能未初始化的本地指针变量“xxx”

VS编译报错:error C4703: 使用了可能未初始化的本地指针变量“xxx”

开发VS2008插件怎么添加菜单项

编译器如何实现静态变量只初始化一次