使用 Cppcheck 检查非标准文件扩展名

Posted

技术标签:

【中文标题】使用 Cppcheck 检查非标准文件扩展名【英文标题】:Checking non-standard file extensions with Cppcheck 【发布时间】:2014-08-11 11:03:53 【问题描述】:

有没有办法将自定义文件扩展名传递给Cppcheck?例如,*.pc

【问题讨论】:

是否应该将其标记为 c++ 而不是 c @FiddlingBits:cppcheck 也可以使用 C 代码。 @sharptooth:就这样出现了。你也能回答这个问题吗? ;-) 我认为这是不可能的(但我不确定),也许您可​​以编写一个简单的脚本,将文件复制到正确的扩展名并执行 cppcheck 并删除文件。 【参考方案1】:

当然。 cppcheck 将检查您提供的任何文件。

检查 xyz.pc 文件:

cppcheck xyz.pc

检查文件夹 srcfolder 中所有扩展名为 pc 的文件(这至少适用于 linux):

cppcheck srcfolder/*.pc

--file-list 标志也可能有用。您可以使用任意脚本生成要检查的文件列表。然后在该文件列表上运行 cppcheck。

cppcheck --file-list=files.txt

【讨论】:

谢谢!最终编写了一个脚本来将所有文件类型收集到一个列表中,然后将其传入。 @Daniel Marjamäki 是否可以添加命令行选项来指定要查看的扩展名?例如,我在 C++ 项目中使用 .cxx、.hxx 和 .inl。我宁愿不必指定这些文件或为 cppcheck 创建一个别名,即 cppcheck --file-list= 不确定.. 我不反对。只是我们在添加命令行参数时非常小心,这不是常见的功能请求。 .cxx 已处理。我建议您不要添加标题(.hxx),如果您包含这些标题并检查源文件,则更好地进行分析。我不知道 .inl 是什么,是包含文件吗? 有没有办法将此功能添加到 powershell 脚本中,以便它自动运行而不是在终端中输入它?

以上是关于使用 Cppcheck 检查非标准文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章

检查C代码时cppcheck不扩展宏?

Cppcheck 忽略 -i 并在干净构建后检查所有文件

cppcheck-vs-addin - 如何从检查中删除文件夹

cppcheck 可以在不实际检查的情况下进行试运行以列出所有文件吗?

CPP 检查不在本地机器上

cppcheck 是不是分析多个文件