JetBrains CLion 2022官方版是由捷克JetBrains公司精心研发的一款内业知名的C/C++集成开发环境,该软件拥有着一整套完善的C语言开发功能,其中就包含了动态代码分析、智能编辑器、编码辅助、代码生成和重构、运行和调试、评估表达式、导航和搜索等非常实用的功能,可以轻轻松松的帮助用户提高工作效率及代码质量。而且,软件还能够使用路径导航来实时跟踪您在范围层次结构内的具体代码位置,这对于后期的维护来说无疑减少了工作的繁琐程度,不仅如此,JetBrains CLion 2022官方版还可以借助各种参数名称的提示,进行充分的调用函数,比如也可以直接通过输入该符号名称进行直接跳转,也可以按照类型筛选的方式进行补全,其功不仅十分的强大,而且还可以高效率的便捷工作。除此之外,JetBrains CLion 2022官方版最重要的便是具备很好的开发环境,它包含了日常开发中所有需的基本功能,例如VCS、Google Test、Catch 、单元测试框架、Doxygen、数据库工具等等,非常的全面,最大程度的满足用户的使用需求。有需要的用户欢迎前来下载体验。
CLion 2022电脑版特色
1、全局数据流分析。
2、现在,将项目内容根目录之外的文件分组到一个单独的节点下,以避免顶层污染。
3、在远程模式下,可以使用Google Sanitizers,Valgrind Memcheck和代码覆盖率。
4、现已捆绑CMake 3.19。
JetBrains CLion初始配置教程
下载安装好CLion之后,并不能直接写C/C++程序,ide会提示你缺少XX。和VS不一样,CLion需要自己安装额外的环境支持。应该是类似与java的jdk之类的编译器,比如MinGW。
那么要配置MinGW,我们进入CLion的设置,找到Toolchains,然后如下图,Environment中2的位置选择MinGW,3的位置需要设置为MinGW的安装目录,我的是以及安装好了,在D盘的MinGW目录。
下载安装MinGW可以进入官网找到downloads页面:https://osdn.net/projects/mingw/releases/,进行下载。进入后直接点击按钮开始下载并安装到自己指定的目录。然后将安装目录复制,粘贴到上一步中3的位置。
粘贴完成之后,CLion如上面那一步一样,出现了MinGW的Version信息,就说明配置好了。
那么就可以创建项目写代码了,这里演示一下创建一个hello world示例的过程。
在CLion只点击右上角的File->New Project,出现上图。然后在左上角可以选择要创建的项目类型,有C语言的,C++的,我们选择创建一个C++程序,右边选择项目目录。然后点击create。
创建成功,点击运行。
编译之后,运行成功。
新功能
一、全局数据流分析
1、一段时间以来,我们一直专注于CLion的性能和整体质量改进。我们继续改进的一个领域是数据流分析。在2020年,我们将其部分移至基于c的引擎,提高了许多检查的准确性,并添加了新的检查,例如搜索悬空指针。在JetBrains CLion 2022中,我们准备为您提供全局数据流分析!
2、全局DFA是一种过程间分析,它将程序的翻译单元(TU)作为单个单元进行分析。这意味着全局DFA在TU内对保证位于TU中的功能/字段的所有使用进行工作。这有助于检测本地DFA无法捕获的潜在问题。例如,悬空指针分析丰富了Global DFA,可以捕获在另一个函数中删除内存时的情况:
3、以下是可从全球DFA中受益的CLion当前基于DFA的检查清单:
恒定条件–检测可能始终为真或假的条件。
无法访问的代码–检测从未执行的代码。
空取消引用–检测可能包含nullptr的取消引用指针。
悬空指针–检测可能指向已经删除的内存的指针。
无限循环–报告只能通过引发异常才能退出的任何for,while和do语句或goto循环。
无限递归–报告永久运行或因异常终止的函数。
未使用的值–检测分配后从未使用过的变量值。
转义分析–检测包含对转义其范围的局部变量的引用的变量。
除此之外,我们还在进行一些仅在Global DFA中可用的新检查:
常数函数结果–报告其返回值似乎始终为常数的函数。
常量参数–报告参数似乎始终相同的函数:
无法访问的函数调用–检测从未执行其调用站点的函数:
4、默认情况下,全局DFA是启用的,但在以下情况下,它可以回退到本地DFA:
叮当引擎报告的TU中的任何功能均存在错误。
该文件包含在另一个TU中。
全局DFA是通过注册表项clion.dfa.global手动关闭的(除非找到关键回归,否则我们不建议您关闭它)。
二、全局数据流分析性能
1、实施如此大的更改时,我们显然对它如何影响代码分析的性能感兴趣。而且由于我们正在优化DFA中的许多步骤,因此我们期待一些改进。
2、我们比较了在全局和本地模式下运行的以前和当前的DFA实现。以下是我们从MAC机器(Big Sur 11.0、2.6 GHz六核Intel Core i7、16 GB RAM)获得的测量结果。对于测试,我们采用了5个项目:Postgres,Eigen,clangd,OpenCV和OSRM。我们分别测量了每个DFA步骤的效果:
(1)建立关系步骤–这是引擎的C ++实现,可收集所有关系以进行DFA计算。随着我们开始收集更多数据,我们预计时间将会增长:
(2)运行关系操作步骤–在此步骤中,将处理关系并生成输出关系,这些解释将成为CLion编辑器向您显示的实际检查。这占了大部分分析时间,并且通过各种优化,我们设法在此处提高了性能:
(3)由于超时(默认超时为5秒),CLion终止DFA执行的文件数。我们也在这里看到了一个改进:
三、来自项目根目录外部的项目源
1、CLion中的任何项目都被视为封装在项目目录中–根目录称为项目根目录,其中包含所有项目文件和子目录。它通常是主CMakeLists.txt或Makefile所在的顶级目录,但是用户也可以通过“更改项目根”操作显式更改此目录。
2、现在,如果项目使用位于项目根目录之外的某些源文件,您将在“项目”树中的“外部源”节点下看到它们的分组:
3、这有助于避免以前经常发生的高层拥挤,例如,在生成代码辅助和编译所需的项目文件时。
软件优势
1、代码分析
您可以依靠 CLion 持续分析整个代码库。 它具有对 MISRA C 和 C++ 的扩展支持、能够帮助您发现翻译单元内部悬空指针、不可到达的代码和其他潜在问题的全局数据流分析,以及针对 Qt 项目的 Clazy 分析器集成。
2、后缀补全
CLion 中新的 C 和 C++ 后缀补全让您可以在刚刚输入的表达式周围添加代码。 它不仅仅是通过常用的语言结构封装表达式,还可以将表达式作为自由函数的第一个参数传递。
3、项目模型
为了使所有工具链、项目模型和配置更加一致,JetBrains CLion 2022中引入了对远程 Makefile 项目的初始支持,实现了远程模式下的动态分析工具,捆绑了 CMake 3.19,并允许您在 VCS 中共享 CMake 配置文件。
网友评论