是否有可能使用minGW完成静态代码C代码分析?我已经读过,有可能在mygcc的帮助下完成它。但是可以用 MinGW 来实现吗?
答案 0 :(得分:1)
Mingw(或者,通常是gcc工具链)没有指定静态分析工具。 Clang有一个(clang --analyze
)。其他选项包括cppcheck
或全部非免费分析仪(如Coverity或PVS-studio)。
答案 1 :(得分:0)
这个问题可能会被标记为非主题,但我认为它是有效的......
你的第一步是确保所有警告都被打开,(我更喜欢发出警告错误,因为非常,非常非常罕见的是一个警告,而不是一个真正的错误等着你的脸)。在gcc(我相信MingW使用)中,你可以使用-Wall -Werror
执行此操作。您甚至可以打开-Wextra
以获取更多警告 - 尽管即使这仍然没有打开所有内容,您可能希望启用特定警告,例如-Winit-self
- 但要修复低悬的果实第一
执行此操作,并在转到单独的静态分析工具之前先修复所有内容。
c语言有许多静态分析工具可用。通常,您可以修改构建系统,以便在编译器之前或之后直接运行分析工具,作为构建过程的一部分,以便所有警告和错误都出现在一个位置。
例子包括Lint,QAC(商业但功能强大)。我确实听说有一些工作要让CLang和MingW合作 - 也许这就是你所指的?
哪种静态分析工具最适合您,取决于您的项目要求和预算。例如,您是否需要针对特定标准(例如MISRA或特定防御标准等)进行认证?
您还应该使用valgrind
作为理所当然的事。这是一个动态分析工具,但非常非常有用。