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

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

【问题讨论】:

    标签: c++ visual-studio visual-studio-2008 visual-c++


    【解决方案1】:

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

    【讨论】:

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

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

    您正在寻找警告号码C6001

    【讨论】:

    • 我没有“团队版”...我只有VS标准版
    【解决方案3】:

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

    warning C4700: uninitialized local variable 'xxx' used

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

    【讨论】:

      【解决方案4】:

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

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

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

      /wYxxxx
      

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

      /w14701
      

      干杯

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-19
        • 2016-08-12
        • 1970-01-01
        • 1970-01-01
        • 2017-10-05
        • 2013-05-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多