C++ 核心准则检测器目前在一个单独的NuGet包里

[原文发表地址] C++ Core Guidelines Checkers are now in a single NuGet package [原文发表时间] 2016/6/3 这是令人兴奋的一年自从CppCon2015大会宣布以C++核心准则以及检测器作为Bjarne Stroustrup的开幕主题演讲开始。我们已经多次通过NuGet发布了CppCoreCheck分析工具。Clang社区一直跟随着步伐,在Clang-Tidy上更新C++ Core Guidelines checks。并且我们已经在GitHub看到了源源不断的提交有关于指南支持库的实现。 最令人兴奋的是我们从我们的开发者社区看到的反馈和参与的数量。有很多人都给出了建议,反馈,并且给 cppcorecheck@microsoft.com提出bugs. 你们的反馈和贡献对于这项还处于早期阶段的工作是非常有帮助的。谢谢你们! 在发布第一个生命周期检测器的预览版本时,我们把它放在一个单独的DLL里。因为复杂分析,所以lifetime checker要比正常的核心检测器更慢,同时早期的工作意味着会有很多缺陷。把他分离成单独的Dll,这样就可以允许您单独安装范围和类型检测器而不安装生命周期检测器。但是我们了解到你们想要在运行每个检测器的时候直接选择而无需返回到NuGet. 我们目前正在运行实验的检测器,包括lifetime 检测器以及在一个NuGet包里的常规检测器(GSL仍作为一个依赖来安装)。 现在MsBuild脚本允许我们扩展项目设置,所以你们可以在代码分析的时候选择特定的扩展。这意味着你可以在你的程序设置里单独的启用或者禁止任一检测器。你可以在运行debug构建项目的时候选择使用release 检测器,举个例子,为你的release构建开启experimental 检测器。或者你可以创建一个自定义的配置,运行代码分析检测器。   想试试看吗? 只需要在NuGet上安装检测器.( 在第一篇有关于CppCoreCheck的博客上有详细的指导)。如果你有单独的安装ExperimentalCoreCheck包,你应该在常规的CppCoreCheck包里卸载它目前所有的功能。有关详细信息,请参考下面关于安装和卸载NuGet程序包的说明。 新的MSBuild脚本允许你们独立的配置检测器运行。只需要在项目属性对话框中选择“配置属性\代码分析\扩展功能”。在这里,对于那个配置你可以选择你想要运行的检测器。对于每一个配置你可以选择一系列不同的检测器。   卸载(和安装)NuGet程序包 如果你要卸载旧的ExperimentalCppCoreCheck包,你可以在NuGet包控制台这样做。通过右键单击你的项目或者解决方案把管理NuGet包调出来,或者在快速启动框中输入: 点击”已安装“,选择Experimental包。单击右边的”卸载“按钮卸载它。   请注意,在管理包窗口上有个更新显示。如果点击该选项,你可以在同一个窗口中立即更新CppCoreCheck包。   给我们反馈! 一如既往,我们想听听你的想法。实验阶段的检测器仍处于早期阶段,所以我们不期望有关于试验的任何事情上的标准错误报告。但是如果你在发布检测器时遇到问题,或者有任何关于实验规则设计方向的想法,请通过邮件 cppcorecheck@microsoft.com或者用户之声,建议,链接(反馈bugs),甚至可以发送笑脸告诉我们。

0

VS 2015 Update 1新增的C++核心准则检测器

[原文发表地址]  VS 2015 Update 1新增的C++核心准则检测器 [原文发表时间] 2015/12/03 7:57 PM [这篇文章是由Andrew Pardoe和Neil MacIntosh写的] 早在2015 年9月的CppCon 2015上, Neil宣布我们计划发布新的C++代码分析工具,这将执行C++核心准则里的一些规则。(此次谈话的视频:https://www.youtube.com/watch?v=rKlHvAw1z50 和幻灯片:ISOCpp GitHub repo。) 本周早些时候,我们做了这些代码分析工具的第一个系列,作为一个NuGet 包可以被Visual Studio 2015 Update 1的用户免费安装。目前,这个包包括边界和类型规则的检测器。并且,Herb Sutter在全员会议上(视频在https://www.youtube.com/watch?v=hEx5DNLWGgA)表示在将来的代码分析工具里我们将支持生命期规则的检查器。 这个包被命名为“Microsoft.CppCoreCheck”,链接:http://www.nuget.org/packages/Microsoft.CppCoreCheck. 为了启用新的代码分析工具,仅仅需要在你的工程中安装NuGet包。 NuGet包新增了一个额外的MSBuild目标文件,当你开启代码分析时调用。这个目标文件将CppCoreCheck作为PREfast代码分析工具的一个插件。你可以通过工程属性对话框里的代码分析区域的复选框开启代码分析功能。无论你选择什么样的规则集—只要你开启了代码分析功能,CPPCoreCheck规则将总是运行。 为了保证Visual Studio的用户受益于C++核心准则的实施,这些工具是很重要的第一步。请注意这个需要Visual Studio Update 1,以前的版本是不支持的。 这里有个这个工具可以找到什么类型的问题的例子: void main() {     int arr[10];           // BAD, warning 26494 will be fired     int* p = arr;          // BAD,…

0