用于标记未初始化变量的 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的
VS编译报错:error C4703: 使用了可能未初始化的本地指针变量“xxx”