gpt4 book ai didi

c - C 的静态代码分析器

转载 作者:太空狗 更新时间:2023-10-29 16:46:15 25 4
gpt4 key购买 nike

您使用哪种静态代码分析器(如果有)?我一直在为 Python 使用 PyLint,我对它非常满意,现在我需要类似的东西用于 C 代码。

对于正常的日常使用,您必须抑制多少输出?

最佳答案

维基百科维护着一个 list of static code analysis tools用于各种语言(包括 C)。

就个人而言,我都用过 PC-LintSplint .最佳选择取决于您编写的应用程序类型。但是,无论您使用哪种工具,在您正确调整工具和代码之前,信噪比都会很低。

PC-Lint 是我用过的最强大的 Lint 工具。如果将其添加到现有项目中,信噪比可能会很低。但是,一旦正确配置了该工具和您的代码,就可以将其用作标准构建过程的一部分。在我使用它的最后一个主要项目中,我们将其设置为 PC-Lint 警告会破坏构建。 PC-Lint 的许可证价格为 389 美元,但物有所值。

Splint 是一个很棒的开源工具。我已经在几个项目中使用过它,但发现在使用具有非 ANSI C 扩展的编译器时(例如在嵌入式系统项目中)很难配置。

Valgrind作为动态分析工具也值得考虑。


您特别要求对 SourceMonitor 提供反馈.此工具为您的代码提供了有趣的指标,但应该用作优秀 Lint 工具的补充,因为它不提供那种分析。

如其主页所述,SourceMonitor 将:

...find out how much code you have and to identify the relative complexity of your modules. For example, you can use SourceMonitor to identify the code that is most likely to contain defects and thus warrants formal review.

我在最近的一个项目中使用了它,发现它易于使用(即使对于嵌入式系统代码也是如此)。复杂性指标是开发不易出错且更易于维护的代码的绝佳资源。

SourceMonitor 提供了漂亮的输出图表以及格式良好的 XML(如果您想自动收集指标)。唯一的缺点是该工具只能在 Windows 上运行。

关于c - C 的静态代码分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com