Linux实战018Ubuntu搭建CC开发环境
在Windows上开发CC我们可以直接安装微软提供的VisualStudio开发工具,VisualStudio提供了代码编辑、导航、分析、调试、编译、测试和部署等集成开发环境(IDE)可以帮助开发者简洁、快速、高效的完成工作。但是在VisualStudio只适用于Android、iOS、Mac、Windows、Web和云的应用开发,并没有提供Linux版本。所以要想在Ubuntu上开发CC我们就需要找其他开发工具来代替,Ubuntu上开发CC至少需要代码编辑器、代码编译器和代码调试器。
代码编辑器
CC编写代码并没有什么太高的要求,是个编辑器都可以来编写CC代码。我们之所以会用各种IDE来编辑主要是为了降低开发难度,缩短开发周期、提高开发效率,如果你技术够硬其实用文本编辑器都可以敲代码(如Ubuntu上自带的编辑器viwim)。我们用vim来个简单的demo示例,引入头文件并通过printf打印出helloubuntu!。
代码编译器
我们都知道CC是编译型语言,所以运行之前我们需要先对文件进行编译将源代码转换成可以在硬件上运行的程序。编译就是对源代码文件进行词法和语法的分析将高级语言指令转换为相应的汇编语言代码并生成可执行的二进制文件,一般编译CC代码我们可以用gccg来实现。g是款强大的编译器也是Ubuntu默认自带有g编译器,我们来试试用g来编译下demo。cpp。g编译如果没有指定目标文件则会在当前目录生成一个a。out的文件,也可以通过参数o指定目标文件名。
代码调试器
代码编译通过只能说明代码的语法没有问题,但是是否符合业务逻辑就需要我们去不断的调试和测来发现问题并解决问题才能达到我们的业务需求。而且即使经验再丰富的程序员编程时也避免不了出错,所以代码调试在开发中也是必不可少的。调试就是一步一步慢慢执行代码并跟踪程序的运行过程,通过查看当前变量的值、内存中的数据以及函数的执行过程、线程的调度等等来锁定问题所在位置并找出异常原因。GDB是Linux自带调试工具,支持C、C、Go、ObjectiveC等多种编程语言的调试。GDB调试器提供有大量的调试选项(指令既可以使用全拼也可以使用其首字母),可满足大部分场景中调试代码的需要。如b可以用来设置断点位置,r可以执行程序并在断点处暂停执行,c则继续执行直至遇到下一个断点停止或者结束。这里需要注意的是遇到Nosymboltableisloaded。Usethefilecommand错误则说明你在编译源码的时候缺少选项参数g,该参数指定文件生成时附带调试信息并允许被调试器调试。
VSCode编辑器
经过上面的示例说明Ubuntu本身就已经具备了CC的开发环境(好像我先装了VSCode和CC插件。。。,如果没有就自己安装下编译器和调试器),那么我们要做的就是借助IDE来提高CC开发效率。在Ubuntu上常见的CC开发工具有Eclipse、Anjuta、NetBeans、Codeblocks、Qtcreator、VSCode、Clion等,这几个我只用过Eclipse、Qtcreator和VSCode。个人感觉VSCode比较好用,刚好前端开发也选择了VSCode。
总结:
VSCode安装很简单,可以直接进VisualStudioCode官网下载相应的Linux版本(deb包),也可以在Ubuntu软件中心直接搜索VisualStudioCode安装。下载之后直接点击install安装即可,如果是终端则可以通过dpkgipackage来安装。
为了方便学习,下面附上本文用到的源码:demo。cppincludestdio。hintmain(){printf(helloubuntu!);return0;}g〔option〕file〔option〕〔file〕gdemo。cpp。a。outhelloubuntu!gdba。out(gdb)runStartingprogram:homekevinfana。outhelloubuntu!〔Inferior1(process2250)exitednormally〕(gdb)