在Windows上开发C/C++我们可以直接安装谷歌提供的VisualStudio开发工具,VisualStudio提供了代码编辑、导航、分析、调试、编译、测试和布署等集成开发环境(IDE)可以帮助开发者简约、快速、高效的完成工作。并且在VisualStudio只适用于Android、iOS、Mac、Windows、Web和云的应用开发,并没有提供Linux版本。所以要想在Ubuntu上开发C/C++我们就须要找其他开发工具来取代,Ubuntu上开发C/C++起码须要代码编辑器、代码编译器和代码调试器。
代码编辑器
C/C++编撰代码并没有哪些太高的要求,是个编辑器都可以来编撰C/C++代码。我们之所以会用各类IDE来编辑主要是为了减少开发难度,减短开发周期、提高开发效率,假如你技术够硬虽然用文本编辑器都可以敲代码(如Ubuntu上自带的编辑器vi/wim)。我们用vim来个简单的demo示例windows开发linux程序,引入头文件并通过printf复印出“helloubuntu!”。
代码编译器
我们都晓得C/C++是编译型语言,所以运行之前我们须要先对文件进行编译将源代码转换成可以在硬件上运行的程序。编译就是对源代码文件进行词法和句型的剖析将中级语言指令转换为相应的汇编语言代码并生成可执行的二补码文件,通常编译C/C++代码我们可以用gcc/g++来实现。g++是款强悍的编译器也是Ubuntu默认自带有g++编译器,我们来试试用g++来编译下demo.cpp。g++编译若果没有指定目标文件则会在当前目录生成一个a.out的文件,也可以通过参数-o指定目标文件名。
代码调试器
代码编译通过只能说明代码的句型没有问题,然而是否符合业务逻辑就须要我们去不断的调试和测来发觉问题并解决问题能够达到我们的业务需求。并且虽然经验再丰富的程序员编程时也避开不了出错,所以代码调试在开发中也是必不可少的。调试就是一步一步渐渐执行代码并跟踪程序的运行过程,通过查看当前变量的值、内存中的数据以及函数的执行过程、线程的调度等等来锁定问题所在位置并找出异常缘由。GDB是Linux自带调试工具,支持C、C++、Go、Objective-C等多种编程语言的调试。GDB调试器提供有大量的调试选项(指令既可以使用简拼也可以使用其首字母),可满足大部份场景中调试代码的须要。如b可以拿来设置断点位置,r可以执行程序并在断点处暂停执行,c则继续执行直到遇见下一个断点停止或则结束。这儿须要注意的是遇见“Nosymboltableisloaded.Usethe"file"command”错误则说明你在编译源码的时侯缺乏选项参数-g,该参数指定文件生成时附送调试信息并容许被调试器调试。
VSCode编辑器
经过前面的示例说明Ubuntu本身就早已具备了C/C++的开发环境(似乎我先装了VSCode和C/C++插件...,假如没有就自己安装下编译器和调试器),这么我们要做的就是利用IDE来提升C/C++开发效率。在Ubuntu上常见的C/C++开发工具有Eclipse、Anjuta、NetBeans、Codeblocks、Qtcreator、VSCode、Clion等,这几个我只用过Eclipse、Qtcreator和VSCode。个人觉得VSCode比较好用linux开源软件,正好后端开发也选择了VSCode。
总结:
VSCode安装很简单linux应用程序,可以直接进VisualStudioCode官网下载相应的Linux版本(deb包),也可以在Ubuntu软件中心直接搜索“VisualStudioCode”安装。下载以后直接点击“install"安装即可,倘若是终端则可以通过dpkg-ipackage来安装。
为了便捷学习windows开发linux程序,下边附上本文用到的源码:
//demo.cpp#includeintmain(){printf("helloubuntu!n");return0;}---------------------------------------//g++[option]file[option][file]$g++demo.cpp$./a.outhelloubuntu!$gdba.out(gdb)runStartingprogram:/home/kevinfan/a.outhelloubuntu![Inferior1(process2250)exitednormally](gdb)