VisualStudio中C++核心检查

C++核心检查是微软的静态分析工具,它执行规则。 C++核心指南 这是由C++基金会维护的。这篇文章将提供C++核心检查提供的C++核心指南覆盖的快照。

null

对于后台,C++团队在2015年12月引入C++核心检查作为 Visual Studio 2015更新1 . 在发布时,C++核心检查提供了规则 边界轮廓 类型配置文件 带着 生命周期配置文件 跟随。

C++团队已经 在过去五年中,C++核心检查的覆盖范围不断扩大。我们已经在现有的类型、界限和寿命配置文件中添加了更多的规则,并扩展到C++核心指南的其他领域,您可以在帖子底部的表中看到这些规则。有关C++核心检查的增长和演化的更详细的视图,请参阅我们博客中的其他帖子 标记为“CppCoreCheck” .

C++核心指南是一个不断发展的文档,目前包含482条规则,但是只有263个提供了可以通过静态分析(可强制执行集)强制执行的指南。在编写时,C++核心检查覆盖了可执行集合中的67条规则。我们正在积极扩大覆盖范围,并解决在网上提出的问题 开发者社区 第页。

1 这就排除了哲学上的、基于代码样式的规则、标记为“不可能强制执行”的规则,或者那些由每个代码库的维护者解释和强制执行的规则。

C++核心指南规则映射到C++核心检查警告

类型配置文件

C++核心准则规则 C++核心检查警告(S)
类型1 C26471型 , C26472型 , C26473型 , C26474型 , C26490型
类型2 C26466型 , C26491型
类型3 C26465型 , C26492型
类型4 C26493型
类型5 C26494型
类型6 C26495型
类型7 C26496型

边界轮廓

C++核心准则规则 C++核心检查警告(S)
边界.1 C26481型
界限.2 C26482型 , C26483型
界限.3 C26485型
界限.4 C26446型

生命周期配置文件

C++核心准则规则 C++核心检查警告(S)
寿命.1 C26488型 , C26489型 , C26800型 , C26810型 , C26811型
寿命。3 C26486型
寿命。4 C26487型
寿命.ptrtotemp C26815型
生存期.ptrtostack C26816型

C:类和类层次结构

C++核心准则规则 C++核心检查警告(S)
第21章 C26432型
约35 C26436型
约41 C26495型
约52 C26495型
约66 C26493型
约84 C26493型
约85 C26493型
约127 C26436型
约128 C26433型 , C26434型 , C26435型 , C26443型 , C26456型
约146 C26466型
约149 C26409型

Con:常量和不变性

C++核心准则规则 C++核心检查警告(S)
控制1 C26496型
第三节 C26460型 , C26461型
第四节 C26462型 , C26463型 , C26464型 , C26496型
第五节 C26498型 , C26814型

CP.con:并发

C++核心准则规则 C++核心检查警告
第44页 C26441型

E:错误处理

C++核心准则规则 C++核心检查警告
E.16段 C26495型

枚举:枚举

C++核心准则规则 C++核心检查警告
枚举3 C26812型

表达式和语句

C++核心准则规则 C++核心检查警告
第24页 C26409型
第25页 C26462型
第46页 编译器警告:C4244
第47页 C26477型
第49页 C26475型
第50页 C26492型
第56页 C26478型
第60页 C26409型
第61页 C26409型
第63页 C26437型
第65页 见寿命。1
第71页 C26817型
第76页 C26438型
第78页 C26819型
第79页 C26818型
第84页 C26444型

F:功能

C++核心准则规则 C++核心检查警告(S)
第四章 C26497型
第六章 C26439型 , C26440型 , C26447型
第23页 C26429型 , C26430型 , C26431型

I:接口

C++核心准则规则 C++核心检查警告(S)
一.11 C26400型 , C26401型
一.22 C26426型 , C26427型

P:哲学

C++核心准则规则 C++核心检查警告
第9页 C26820型

R:资源管理

C++核心准则规则 C++核心检查警告
R.3级 C26402型 , C26403型 , C26404型 , C26406型
R.5级 C26407型 , C26414型
第10条 C26408型
第11条 C26409型
第20条 C26409型
第23条 C26409型
30兰特 C26415型
R.32级 C26410型
第33条 C26411型
第34条 C26416型
R.35级 C26417型
第36条 C26418型

此外,C++核心检查还发布了一些不直接映射到C++核心指南的规则。

C++核心指南启发规则 C++核心检查警告
GSL.view视图 C26445型 , C26449型
GSL.util公司 C26448型
信息O.1 C26450型
信息作战2 C26451型
信息作战3 C26452型
Io.4版本 C26453型
Io.5版本 C26454型
钢1 C26459型

所有这些规则在visualstudio中都可用。“Microsoft Native Recommended Rules”规则集中的复选框已以绿色波形出现在编辑器中:请参阅 编辑器内代码分析 .

Visual Studio Editor with C++ code and a Code analysis warning showing up as a squiggle

若要运行C++核心检查规则,请浏览到Project Projts对话框,并在代码分析窗格中选择“C++核心检查规则”。

Image property pages

有关各种规则集及其配置的更多信息,请访问 快速启动:C/C++的代码分析 .

下一步:

如果您希望添加任何规则,请访问 建议功能 页面和标签规则C++核心检查。看到了吗 Microsoft文档 页面为深入的例子和解释,每个警告,C++核心检查提供。我们可以通过下面的评论或Twitter上的@VisualC联系到我们。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享