您可以使用 conf 参数丢弃一行代码中的警告WARNING_FILTER
,就像您之前尝试过的那样,如下所示:
语法是:WARNING_FILTER += <action> <rule> [<rule> ...]
丢弃第 11 行文件 main.c 中出现的所有警告。(注意:如果模式中有两个或多个 s,则该模式将应用于匹配所有规则的警告。)
WARNING_FILTER += discard file=main.c line=11
丢弃在包含文本“不要在此处发出警告”(大概在注释中)的源代码行上发生的所有警告。
WARNING_FILTER += discard line_contents:"do not issue a warning here"
您之前尝试的参数仅在项目中的代码行包含“NOLINT”时才有效。
您可以在 CodeSonar 手册中阅读有关如何WARNING_FILTER
使用该参数的更多信息,可从您的 CodeSonar 中心访问,方法是单击中心所有页面右上角菜单中的“手册”链接,搜索“warning_filter”。第一个结果应该是“与编译器无关的配置文件参数”,在此页面中搜索“允许在将警告提交到集线器之前对其进行修改,或在未提交的情况下完全丢弃”。
如果您想逐个处理警告,您可以将警告结果设置为“不关心”。设置后,除非您在集线器中使用可见警告过滤器“全部”,否则不会显示警告。(通过搜索“可见性过滤器选择器”并单击搜索结果“GUI 参考”,然后在该页面中搜索“可见性过滤器选择器”来获得更多信息)
该设置将持续用于所有未来的分析。
您可以通过搜索“警告报告”,单击搜索结果“GUI:警告报告”,在页面中搜索“更改警告表”,找到更多关于更改警告的信息。
如果您不想看到系统包含文件的警告,您可以使用此参数:
WARNING_FILTER += discard is_sysinclude
(注意:您需要确保设置参数:SYSTEM_INCLUDE_PATHS
,通过搜索“system_include_paths”,然后单击搜索结果“Compiler Independent Configuration File Parameters”,然后在页面中搜索“Specifying file system paths”页面中的更多信息其中包含系统包含标题。”)
直接联系 GrammaTech 支持的电子邮件位于手册目录下:“CodeSonar 手册”。