cppcheck 中的 SLOC

Posted

技术标签:

【中文标题】cppcheck 中的 SLOC【英文标题】:SLOC in cppcheck 【发布时间】:2015-11-16 16:59:24 【问题描述】:

我想编写可以添加到 CppCheck 中其他检查器的检查器。该检查器必须检查所有成员函数的 SLOC,例如该函数应包含不超过 200 行的重要代码。但在 CppCheck 中,我只找到了检查主体 hasBody() 是否存在的方法,而不是行数。

【问题讨论】:

你的问题是? @user1034749 如何计算函数代码中的行数。 【参考方案1】:

我是一名 cppcheck 开发人员。我不是这个话题的专家。我认为这完全取决于您要计算的内容。这是多少行:

void f()  int x=3; int y=x+2; dostuff(x+y+4); 

我猜你想遍历标记并计算分号或其他东西:

for (tok = functionScope->classStart; tok != functionScope->classEnd; tok = tok->next()) 
    if (tok->str() == ";")
        ++lines;

我认为您建议的这个检查器很有趣,但它不适合核心 cppcheck 工具。我建议你写一个插件。我很乐意将它添加到我们的插件文件夹中并在 GUI 等中显示它。

顺便说一句.. 我认为在 GUI 中集成(执行和读取结果)ohcount、cccc 或其他任何东西会很好,这样可以显示扩展的统计信息。

【讨论】:

以上是关于cppcheck 中的 SLOC的主要内容,如果未能解决你的问题,请参考以下文章

有人可以澄清 Mac OSX 安装中 cppcheck 中的 Homebrew 是啥吗

如何解决 Cppcheck 中的问题 ID“toomanyconfigs”和“missingInclude:”

从 cmake 生成的命令中取消设置 cppcheck 分析中的定义

cppcheck --suppress 命令行参数不起作用

如何在控制台中的项目中使用 cppcheck 执行?,也许在 makefile 中搜索参考?

cppcheck使用大全