我正在将“准则支持库检查器”集成到我的项目中。

Microsoft.CppCoreCheck
Microsoft.Gsl

当我运行它时,我从包括标准库,glm,boost等在内的库中得到了很多错误。

一个具体的例子是SDL.h,我在sdl_stdinc.h中得到警告。
我确保仅通过控制下的一个 header 包含SDL:

ExtSDL.hpp
#pragma once
#pragma warning(disable: 4710)
#pragma warning(push, 0)
#include <SDL.h>
#pragma warning(pop)

我找不到有关如何从静态代码分析中排除此库的信息。

最佳答案

抑制CppCoreCheck警告的方法有多种:

  • 您可以使用以下任何一种抑制CppCoreChecks
    [[gsl::suppress(chapter)]]属性,其中章节来自C++Core Guidelines,例如con.4。另请参阅MS docs以获取信息。
  • 您可以使用#pragma warning单独或批量禁止显示警告,如上所述。
  • ,您可以使用CAExcludePath禁止显示“不是您的代码”的所有警告。
  • 关于c++ - gsl::抑制整个包含语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42953316/

    10-11 02:32