【问题标题】:Disable Code Analysis for a part of code in CPP(VS 2013)禁用CPP中部分代码的代码分析(VS 2013)
【发布时间】:2016-04-29 21:04:23
【问题描述】:

我想为 CPP 文件禁用代码分析。有一种方法可以排除头文件。

https://msdn.microsoft.com/en-us/library/zyhb0b82(v=vs.100).aspx

#include <codeanalysis\warnings.h>
#pragma warning( push )
#pragma warning ( disable : ALL_CODE_ANALYSIS_WARNINGS )
    #include <third-party include files here>
#pragma warning( pop )

我想禁用 CPP 文件。有人可以帮我吗,如果有办法做到这一点。

谢谢 桑蒂

【问题讨论】:

  • 我希望您以同样的方式进行操作...只需将 pragma 推到源文件的顶部即可。
  • 我试过了,没用。当代码分析运行时,我看到有一个错误。所以我想为 CPP 文件禁用 CL。 disasm.cpp ..\external\Detours\src\disasm.cpp(633):致命错误 C1001:编译器发生内部错误。 (编译器文件“msc1ast.cpp”,第 1325 行)“C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\CL.exe”中的内部编译器错误

标签: c++ visual-studio-2013 analysis cl


【解决方案1】:

我知道这是一个非常古老的线程 - 但我最近遇到了几乎类似的需求(禁用部分源代码的代码分析)。 至少在 VisualStudio-2019 中,符号 CODE_ANALYSIS 似乎是在分析运行时定义的。

希望您可以使用简单的预处理器指令解决您的错误:

#ifndef CODE_ANALYSIS
#  include <third-party include files here>
#endif

我必须承认,我不确定 CL 命令行上的附加 /DCODE_ANALYSIS 是“本机”还是来自我的插件之一。

【讨论】:

  • 这有什么帮助?代码分析仍然需要代码编译。因此,如果编译代码需要第三方头文件,您将得到的只是更多错误,而不是烦人的警告。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多