有些同学对 linux 开发存在非常古老的误解:以为日常写个代码就是在linux里一个黑乎乎、或者绿油油、或者五颜六色的文字界面终端下敲字符……像极了电影中的黑客。
如果说到调试,这下刻板的印象更加固化了,密密麻麻的满屏幕的字符……调试者盯着屏幕,鼻尖冒汗,镜头缓慢推进 ,小小的汗珠里倒映的,挤了六个字母……
有时候,需要远程调试时,确实会使用字符界面——一来服务器确实没有图形界面,二来也可以减少网络传输。但要说日常在 linux 下写程序,我从 2007 年 基本就在linux下写程序,但我是肯定不想为了极客而“极客”。
日常在办公室里——
- 吹着空调的冷气或热风;
- 喝着冰的热的奶茶或咖啡
- 脱掉皮鞋或运动鞋,脚趾夹着人字拖
- 边上偶尔有可爱的“鼓励师”……
这种舒爽的状态下,你让我眯起眼看字符界面?可能是有喜欢这样的人,特别是在条件4满足的情况下,但反正我不爱。
所以,在Linux下的日常开发C++程序如何调试? 我就用图形界面程序,也就是IDE开发并调试。基本上这些IDE都跨平台,所以你问我在 Window下如何开发调试?也得是这些图。
用 CodeBlocks 调试——
穷,特别是又需要使用免费的 wxWidgets 开发跨平台GUI界面时,它内置的wxSmith好用……
用 CLion 开发调试 ——
有钱任性的时候,特别是写服务端各种进程时……
用 VS Code 开发——
主要是要和别的一两门语言混着写的时候,以及写一些教程时……
用 QtCreator 开发——
需要用Qt开发跨平台的GUI应用时,但事实上就算不写图形界面程序,它也是简洁流畅高效的(但要用它集成的CMake,不要用它自带的qmake)。
用 KDevelop ——
很多年以前,曾经有两年多时间,基本就在Linux的KDE环境下写C++代码……后来就没再用过,所以电脑上已经没有了,上官网拉了张图:
很多时候,也会用在线编译器——
回答CSDN或某乎上的网友问题时,或者写课程,或者临时验证个功能时……在线写代码太方便了一样可以保存,不用担心代码丢失,并且可以在线分享,读者可以直接运行……
最常用的是 onlinegdb。如它名字所暗示的,它当然可以调试。(d2school.com 上《C++快速感受与探索之旅》,你就可以完全只在浏览器上,在这个 onlinegdb 网站上学C++)。