首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >静态代码分析

静态代码分析
EN

Stack Overflow用户
提问于 2014-03-13 10:02:19
回答 2查看 365关注 0票数 0

是否有可能用minGW完成C代码的静态代码分析?我读过,有可能在麦格理的帮助下做这件事。但是可以用MinGW来做吗?

EN

回答 2

Stack Overflow用户

发布于 2014-03-13 10:31:58

明(或,通常,gcc工具链)没有指定的静态分析工具。Clang有一个(clang --analyze)。其他选项是cppcheck或大量的非免费分析器(如coverity或PVS)。

票数 1
EN

Stack Overflow用户

发布于 2014-03-13 10:33:49

这个问题可能会被标记为离题,但我认为它是有效的,所以.

您的第一步是确保打开所有警告(我更喜欢发出警告错误,因为非常、非常、非常罕见的警告-而不是等待扇您耳光的实际bug )。在gcc (我相信MingW会使用)中,你可以用-Wall -Werror来做这件事。您甚至可以打开-Wextra进行更多的警告--尽管即使这样也不能打开所有的东西,而且您可能希望启用特定的警告,比如-Winit-self --但是首先要修复低挂的结果。

在移动到单独的静态分析工具之前,首先修复所有的东西。

C语言有很多很多静态分析工具。通常,作为构建过程的一部分,您将修改构建系统以直接在编译器之前或之后运行分析工具,这样所有警告和错误都会出现在一个地方。

例如Lint、QAC (商业但功能强大)。我确实听说有一些工作要让CLang与MingW一起工作--也许这就是您所指的?

哪种静态分析工具最适合您,将取决于您的项目需求和预算。例如,您是否需要对特定的标准(如MISRA或特定的防御标准等)进行认证?

您还应该理所当然地使用valgrind。这是一个动态分析工具,但非常非常有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22374999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档