这里先放一波学长的教程链接
还有安装教程
学长的教程里大概讲了一些关于Clion安装,以及一些使用的铺垫
我就大概对学长博客的内容进行一些补充和说明
先简单说一下CLion的一些小问题:
-
Clion不方便在软件内部保存文件,
所以需要写完代码后单独创建一个新文件来保存(于是vscode在我这里已经变成了一个代码文件夹/狗头),当然你也可以选择用dev保存
同时因为Clion运行一个C文件会附带一整个工程文件,所以不要在里面开多个C文件,一次只写一道题的代码,写完及时转移保存.
-
Clion无法进行不定行输入(即无法ctrl+z结束读入)
所以需要使用freopen通过文件来实现不定行读入
但大部分情况下,其实题目都用不到不定行输入,所以没了解过freopen的可以不用管那个文件创建了.
(不行还可以写完代码以后放到dev或者vscode上跑/滑稽)
-
Clion本身是一个收费的软件
所以大家想要使用这个最好白嫖那个学生免费的政策(似乎每一年还会重新验证一遍,毕竟不可能一直白嫖)
还有就是学长的博客里面只给了北航的邮箱链接,所以其它学校的同学最好去找一下自己学校的邮箱,按照那个教程操作一下.
接下来进入正题
1.CLion的优点
首先先和dev-c++比一比(新手入门还是可以用用,毕竟没有对比就没有伤害)
-
CLion能够及时查错,不需要编译结束以后才报错(这个和vscode有些类似);
-
CLion的调试(debug)界面比dev要清晰不少,能显示更多的变量值,而且入手很简单,看起来也清楚(
-
Clion具有代码补全功能(可以剩下一些打变量(函数)名称的时间,vscode也可以)
再和vscode比一比(先吐槽一下vscode的环境配置,实在有点复杂,还得自己下mingw编译器,更多的功能(比如调试)还需要自己重新再配置)
-
Clion的控制台能显示返回值(虽然dev也可以,vscode似乎需要进一步设置)
-
Clion不仅可以及时报错,还有更进一步的警告功能(下面会详细介绍),这个功能能进一步帮你避免掉很多奇怪的问题;
-
Clion可以更方便进行调试(debug)(
2.简单调试功能介绍
(这个Clion的调试功能简直不要太好用,直接碾压dev和vscode)
直接上图
这个是我的Clion调试界面
先说说Clion调试的优势
-
Clion调试功能能同时显示许多变量的值(包括数组)
-
Clion调试时还可以查出是否出现野指针(学数据结构这个尤其关键
下面介绍一下如何进行调试(debug)
-
调试代码前要先用鼠标打断点
-
之后就点我右上角圈出来的那个小虫子
需要注意的是,如果程序没有经过你的断点就会直接结束
还有就是如果断点前有语句需要读入,你需要先点控制台,把读入的东西输进去,不然程序就跑不下去了
之后程序就会运行到你打断点的那个位置;
-
而之后能你就可以在下面的变量的位置看到现在程序中一些变量的值
(经过我的实践只会显示一部分局部变量),因此你想要看更多的变量需要找到右下角的监视,点那个+号,输入你需要进一步查看的变量名;
-
然后你如果想要程序继续往下运行就看到我左下角那两个红圈(这两个建议结合使用)
-
左边那个是步过
这个是指在主函数里面一步步运行,不会进入外部函数(想要进函数应该要点步入或者单步执行那两个才行)
-
右边那个是
这个比步过要好用一些,尤其是想快速跑循环的时候,就直接放到循环头那里一直点这个就行了.
大概的操作方法是:
-
把鼠标光标点到一个语句的最后(必须要保证一定能运行到那个位置,比如if语句内部可能跑不进去,不然就会跳出来)
-
然后点那个键就好了,这样就可以实现向下跑多条语句(不用多次点步过了)
-
-
最后想说的就是这个Clion的调试功能真的很好用,可以同时看多个变量,包括数组以及指针的值,能帮你理清代码内部的很多问题.
(对我这种经常写些奇怪bug的人简直太有用了,以前都是硬着头皮debug/折磨,
不过其实那种printf("**")这种方式也还是可以用起来的,毕竟断点调试跑起来还是有点小慢.
然后还是建议就是写代码的时候最好写完一个板块就验证一下是否实现了想象中的功能(不然全部写完整个大程序以后de起bug来还是相当痛苦的)
3.Clion的警告功能
这个是我让我觉得它比vscode好用的关键点之一
下面介绍一下
Clion的警告功能是对你代码一些潜在问题的警告(不是语法的问题)
比如以下几种情况
-
可能会出现的死循环
-
变量值的范围的缩小(qsort写cmp函数时尤其关键
-
全局变量和局部变量同名(小模块和函数内部的这种情况都会警告
-
有返回值,函数无法返回值
-
野指针的访问,数组的越界
-
未访问的变量或函数(有时候这个无伤大雅可以不用在意)
等等这些情况Clion都会对你进行警告(但其实有一些无关紧要的警告可以不care,只要程序能跑问题都不大
(像什么没用过的函数,函数库还有一些明知的范围缩小,我好像都没怎么管过hhh)
在这样精明的警告功能下,能让你对程序可能出现的一些问题未卜先知,能避免后续的不少奇怪问题。(反正我用了以后debug效率直线上升,不过还是建议把主体思路想清楚,还有一些细节考虑一下再开始写代码,全部都现改还是容易把头绪弄乱。
4.一些细节补充
就是Clion和vscode一样也可以下一些插件(点右上角的设置-插件来下载)来更改字体和主题什么的,下面我推荐几个我自己用的
-
One dark pro theme / Coderpillr theme (这两个都是主题,看喜好下一个就好)
-
Rainbow Brackets(改变括号颜色的)
-
Chinese(Simplified) language pack(中文语言包)(这个就不多说了..
然后还有就是clion可以插一个透明背景图(图片得自己找..),这里我就不细说了直接放CSDN上的教程吧
最后如果大家还有些别的什么问题,可以再去百度或者CSDN上搜一搜(毕竟我也还在摸索中);
大概就写到这里吧,希望能通过这个介绍CLion这个编辑器帮助更快的找出程序的bug,能够不再被奇怪的bug困扰(不要像我学程设的时候半夜做梦都在debug了...).