如何解决从/分析结果中过滤库代码
我正在尝试使用C ++ Visual Studio gradients
对我的项目进行静态代码分析。
我遇到的主要问题是,我收到的绝大多数警告来自我所使用的各种库,例如boost和protobuf,而不是来自我的代码。
有没有一种方法可以按路径过滤警告? (除了复制到文本文件并执行grep ...)
解决方法
根据Microsoft Docs,我建议您可以尝试这种方法。
- 启用或禁用代码分析警告
1。创建一个头文件,其中列出了所有代码分析警告及其初始状态,如以下代码所示:
// WarningState.h
#pragma warning ( default : 6001 )
#pragma warning ( disable : 6011 )
// more warnings here
// end of file
2。在应用程序头文件中包含WarningState.h。在这种情况下,MyApplication.h代表头文件。
// MyApplication.h file
#include "WarningState.h"
// ...
// end of file
3。在源代码文件中包含MyApplication.h文件。在这种情况下,MyApplication.cpp代表源文件。
// MyApplication.cpp file
#include "MyApplication.h"
4。要修改警告状态,请在.cpp文件中使用编译指示警告说明符,如以下代码所示:
// MyApplication.cpp file
#include "MyApplication.h"
#pragma warning ( disable: 6001 )
#pragma warning ( default : 6001 )
- 要禁用所有包含的第三方文件的代码分析警告
将以下代码添加到头文件中。
#include <codeanalysis\warnings.h>
#pragma warning( push )
#pragma warning ( disable : ALL_CODE_ANALYSIS_WARNINGS )
#include <third-party include files here>
#pragma warning( pop )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。