【问题标题】:Running Splint on C Project | Include Problems & Running on a Complete Project在 C 项目上运行 Splint |包括问题并在一个完整的项目上运行
【发布时间】:2021-01-25 16:41:59
【问题描述】:

我正在尝试运行 Splint 来分析 C 存储库(在本例中是 sudo 命令的源代码),但无法让 Splint 自行查找单个文件的标头。在这种情况下,生成的头文件“config.h”位于项目的根文件夹中。我已经添加了项目根文件夹的包含路径和项目的“包含”文件夹(大多数头文件所在的位置)。下面我添加了一个屏幕截图,显示头文件确实在项目的根目录中,并且随后的错误表明在包含该目录的路径中找不到头文件。

我的问题的另一部分也可能有点难以回答。我在这里找到了在单个文件上运行 Splint 但在诸如此类的完整项目上运行 Splint 的示例。在有人用一个好的 'ol RTFM 打我之前,我已经通读了操作部分、“完整程序”部分和附录 B,其中说明了 Splint 支持的每个标志,但我在任何地方都找不到指示我如何运行 Splint 的东西在一个完整的项目上。如果我忽略了它,我会感谢任何发现它的人。 (Here 是任何感兴趣的人的手册!)

【问题讨论】:

    标签: c analysis splint


    【解决方案1】:

    注意:通常您一次只能发布一个问题。请下次再做。

    第 1 部分

    尝试单独添加每个目录:

    -I"$(pwd)" -I"$(pwd)/include"
    

    第 2 部分

    请参阅手册第 13.2 节。有两个相关选项,topuse 和 partial。

    【讨论】:

    • 抱歉问了太多问题,第一次发帖所以我不知道。对此表示歉意!所以你对 -I 选项被拆分是正确的!我让它在一个文件上运行!不幸的是,topuse 标志位于“未使用的声明”第 13.1 节中,它指的是在标头中声明的变量,例如标头中的 extern int unused_variable,除了标头之外从未在任何地方使用。
    猜你喜欢
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    相关资源
    最近更新 更多