3

市面上的c语言编辑器及ide对比

本人使用过的C/C++Ide及编辑器横向对比

clipboard.png

Qtcreater

1.首先配置cmake编译工具链,打开工具-->选项-->Kits
先配置一个编译器,如下图:

clipboard.png
然后配置cmake路径:

clipboard.png
在设备选项卡里增加一个设备:

clipboard.png

然后配置编译套件,其中CMake Configuration保持默认即可:
clipboard.png
至此我们的编译链就配置完成了
2.创建或导入cmake项目:
qtcreater支持自动导入cmakeLists.txt文件或者新建cmakeLists.txt文件来导入或者创建工程:
具体的创建工程的细节就不详细描述了,总之到最后会形成这样一个工程页面:

clipboard.png

画红框的地方是项目文件浏览器,点击上面的项目可以选择具体显示的内容,在项目名称上右键就可以选择"执行cmake",然后工程就会执行cmake,进行编译链检查等等,执行完会在4区显示相应提示,在执行cmake之前我们可以先对项目进行一些处理,点击左侧蓝条的项目按钮,跳转到项目页面:
先进行构建配置,其实没有什么要改的,主要是展示给大家看一眼:

clipboard.png
再进行运行配置,怎么理解构建和运行呢,其实就有点相当与mdk上的编译和下载,我们想要下载首先得把文件编译出来,在Qtcreater里面是先构建,再运行,当然怎么个运行方式我们可以自己定义:

clipboard.png
如上图所示,我自己定义了一个部署方式,用nrfjprog把文件下到芯片中去,各位童鞋自己的具体是什么方式也可以自己写,只要能用cmd运行的都能做到
接下来我们看看构建和运行的效果:
首先选择执行cmake效果如下(在7.概要信息里查看):
clipboard.png
然后选择菜单栏-->构建-->构建项目或者直接点击左下角的锤子按钮执行构建,构建的效果:

clipboard.png
我们可以看到确实生成了一个工程文件,只不过他自己加上了一个exe的后缀,因为是在windows系统上,难免有些小意外,这个没关系,我们心里知道这是个elf文件就可以了,然后我们实际上也不会用这个文件去down到芯片上,最终还得fromelf去转换成hex文件,如下图所示:
clipboard.png
我们可以看到,编译输出目录确实有一个exe和hex,后面还有htm和map文件,这个是编译之后的副产品,mdk也有,愿意研究的同学可以研究一下.
再看看运行的效果,前面说了,所谓的运行我们就是把芯片下到板子上去:

clipboard.png

clipboard.png

可以看到,其实就是运行了我们刚刚在运行那里定义好的指令而已,效果跟一个cmd命令行差不多,然后我们的程序就运行到板子上去了.

CLION

jetBrain公司出品的CLION同时也是一款很流行的c/c++编程IDE,除了收费和占内存在两个缺点其他的跟QTCreater甚至要更好用,因为它的插件库更丰富.
1.首先依然是配置交叉编译链,打开File->Settings界面,配置编译链:
image.png
2.第二步配置编译参数:
image.png
3.第三步是配置下载工具,这里比QTCreater方便的一点是不需要创建一个设备类型,其他的都是一样的,在编译按钮有一项是表明当前编译链和参数的,点击三角箭头既可配置编译下载方式
image.png
点击之后弹出一个新的对话框,点击加号,出现一个列表,这里我们选择画框的内容,意思是选择一个外部工具来替换原生的下载运行image.png
点击之后会出现一个对话框,添加外部工具,比如我这边创建了一个名为flash的外部工具,顾名思义就是下载固件的意思,点击添加:
image.png
image.png
这里的内容大家都能看懂就不一一说明了,填完所有选项之后就可以关闭,我们的配置环节就结束了,接下来就是编译下载运行.
首先,就是运行cmake,把makefile建立起来:
image.png
然后就可以看到cmake缓存已经建立了:
image.png
在clion底部信息栏也可以看到有相应信息出现:
image.png
这时候就可以执行编译了,点击绿色的小锤子按钮,开始编译:
image.png
编译完成之后,生成了固件就可以下载运行了,点击绿色的小三角按钮,之前我们已经把这个"Run"的动作配置成了我们自定义的工具,所以你会看到这样子:
image.png
到此,我们的Clion工具也配置完成了

基于这种可自定义的构建,部署,运行方式,只要我们发挥想象力和动手能力,理论上我们能实现任何一种我们想实现的效果,相当于我们自己写了一系列的自动话脚本,只不过不需要我们自己去手动运行,在QTcreater和Clion上面点点按钮就可以了,这就是比mdk这种ide先进并且方便的地方,我们做技术的,我总觉得不能满足于mdk上点点几下然后芯片就运行了这种大学生才用的方式,我们自己把这些编译过程,部署这些研究明白,对技术的提升是肯定有的,同学们可以自己去体会.
本文完,后续可能会研究一下用python脚本自动将mdk工程转变为cmake工程,或者openOCD在clion以及Qtcreater上面的调试,再到后面就是持续继承与持续部署相关了,敬请关注!


Signx
12 声望6 粉丝

嵌入式