VisualStudio静态分析工具:C++ Core Check

VisualStudio静态分析工具:C++ Core Check

作者:BlogUpdater |  时间:2020-10-11 |  浏览:71 |  评论已关闭 条评论

C++ Core Check简介
C++ Core Check是微软开发的一款用于对C++代码进行静态分析的工具。通过C++ Core Guidelines规则对代码进行规则一致性判定,从而促使开发者能更加容易的观察到代码中可能存在的缺陷,进而提升代码整体质量。

在今天的文章中,我们会简单的介绍C++ Core Check对C++ Core Guidelines的覆盖情况。

早在2015年,微软的C++开发团队就在Visual Studio 2015 Update 1中引入了C++ Core Check组件。在那个时候,C++ Core Check组件使用的是来自Bounds profile,Type profile和Lifetimes profile中的规则。

去年的时候,C++团队拓展了C++ Core Check组件的覆盖范围。我们向已有的规则集合中添加了一些新的规则,并引入了全新的C++ Core Guidelines规则集合。

C++ Core Guidelines目前包含了总共482条规则,并一直更新着,但是目前被静态分析采用的规则只有其中的263条,当前也只有67规则被C++ Core Check采用。虽然还没有100%的覆盖,但是我们一直都在不断地增加新的规则到C++ Core Check中。

所有的这些规则都在VisualStudio中可用。在下图的编辑器中,会显示”Microsoft Native Recommended Rules”规则集合的静态分析结果。

为了使用C++ Core Check规则,可以在工程的属性对话框中选择”C++ Core Check rules”,如下图所示:

总结
由于C++太过繁杂,不遵从一些”最佳实践”,确实容易掉坑里去。
这里为微软老大哥点个赞。

最后
Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《C++ Core Check in Visual Studio》

标签:

评论已关闭。