C++探索之旅 | 第一部分第二课:C++编程的必要软件

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
转载请注明出处。
原文:https://www.jianshu.com/p/bcdfbf661888


《C++探索之旅》全系列

内容简介


  1. 前言
  2. 编程的必要工具
  3. 选择你的 IDE
  4. 总结
  5. 第一部分第三课预告

1. 前言


经过上一课 C++探索之旅 | 第一部分第一课:什么是C++ 之后,大家是不是摩拳擦掌,准备大干一场了呢?

这一课我们来做一些 C++ 开发前的准备工作。

2. 编程的必要工具


依你看,对编程来说,什么软件是必要的呢?

如果你认真学了上一课,那你至少可以说出一种吧。

对了,就是编译器。这个重要的程序可以把你的源代码(用高级语言如 C语言写的指令)转换成电脑可以理解的二进制码(只包含 0 和 1 的,类似 01100110001111011101010 )。

上一课我们也提了一下,每种高级语言都有对应的编译器(当然,对于 Python 这样的解释性语言,就不需要编译了。不过深究的话,Python 也是先编译为字节码,再由虚拟机解释执行的),光是 C++ 语言的编译器就有很多。比较常用的有 G++(GNU C++ Compiler。GNU 是国际著名的自由软件基金会,GNU 是 "GNU is Not Unix"(表示“GNU 不是 Unix”)的递归缩写法。

老外总是那么顽皮,起名字也喜欢整一些编程的知识,比如 Linux 就是 "Linux Is Not Unix"(表示“Linux 不是 Unix”)的递归。要不就用很多动物的名字或图标,特别好玩)。

除了编译器,我们还需要什么工具呢?

就不卖关子了,下面列出编程的基本工具:

  • 文本编辑器:Test Editor。用来写源代码的工具。理论上 Windows 操作系统的记事本也可以作为文本编辑器来使用。但是,最好还是用一些更高级点的文本编辑器,比如可以支持代码高亮显示,方便你在代码间跳转等。个人非常推荐的文本编辑器是 Vim、Emacs、VS Code、Atom、Sublime,等等。

  • 编译器:Compiler。已经提过了,用来转换(或叫编译)你的源代码成为二进制码。

  • 调试器:Debugger。用来跟踪、发现程序里的错误的工具。这里出现一个新名词,调试(debug)。bug 表示“臭虫,虫子”,de 在英语里是一个表示“分离,除掉”的前缀,所以 debug 的意思就是“除臭虫”。一般把程序里的错误或者缺陷叫做 bug(臭虫),据说是因为传奇女程序员 Grace Hopper(格莱斯.霍普)有一次在 MARK II 计算机(就是那种早期的比较庞大的电脑)中发现了一只飞蛾,这只飞蛾导致了这台电脑死机(夹在电脑里的继电器之间),霍普用镊子把飞蛾夹出来,用透明胶布贴到笔记本上,并注明“第一个发现虫子(bug)的实例”。从此,人们就沿用了这个称呼,用 debug 表示排除程序错误的行为。现在霍普的笔记本,连同那只“呆萌”的飞蛾,陈列在美国历史博物馆里。

霍普的笔记本和光荣载入历史的飞蛾

当然,如果你有“冒险精神”,喜欢挑战,也可以不用调试器(通过一些小技巧也是可以自己找到错误所在的)。但是,我想一般来说你是会需要调试器的。

所以,我们就有两个选择了:

  1. 分开使用文本编辑器,编译器和调试器这三种工具。虽然复杂一些,但是也行得通。特别在 Linux 环境下,不少程序员还是喜欢用这种方式来编程,可能不是装,要的就是这个 feel,倍儿爽。

  2. 使用一种软件,这种软件集合了这三种工具的功能。这种软件被称为 IDE(Integrated Development Environment,表示“集成开发环境”)。

一开始你可能会难以抉择,到底用哪种呢?即使选择了用 IDE,也会纠结到底用哪一个 IDE 好呢。

其实我们可以肯定的是:不论你选择哪种工具,你都可以编写你想要的程序。只是效率、个人习惯和特定平台要求不同罢了。

个人浅见:
如果刚接触 C++ 语言,尽量在 Linux 的命令行里学习 C++ 语言编程。一开始不要过分依赖 IDE。
因为 IDE 做得太好了,都有提示,代码自动补全,自动帮你添加代码,你就不能学到很多,也记不牢。等编程水平好了一些,再用 IDE 不迟,那个时候 IDE 可以提高你的编程效率。一开始用文本编辑器编写 C++ 语言,用 G++ 编译 C++ 语言,用 GDB(GNU Debugger)调试 C++ 语言,是不错的选择。

当然了,我们还是会花比较多的篇幅介绍几个常用的 IDE。

3. 选择你的 IDE


我们觉得有必要向大家展示几个最著名的 IDE,这几个都是免费的:

  • Code::Blocks :还不错的一款 IDE。免费,开源,跨平台。
    可以运行在苹果 macOS,Windows,Linux 等大多数操作系统上。

  • Visual Studio :基础版本是收费的。有一个 Visual Studio Community 的版本是免费的。VS 功能很完备,而且调试器很强大。
    只能运行在 Windows 操作系统上。

  • Xcode :作为苹果的当家 IDE,不得不说 Xcode 真的做得太棒了。可以用来开发基本的小程序,也可以编写 iPhone 和 iPad 的 app(模拟器速度超快),和智能手表应用,还可以和其他如 Unity 3D 引擎配合来编写游戏。
    只能运行在苹果 macOS 操作系统上。

  • Eclipse :Eclipse 是很有名的开源免费 IDE。最开始 Eclipse 是为 Java 开发设计的 IDE。不过后来也推出了 C/C++ 版的 Eclipse,叫 Eclipse IDE for C/C++ Developers。可以在 https://www.eclipse.org/downloads/packages 下载到。

  • Clion :跨平台的 IDE。目前我个人认为最棒的 C语言或 C++语言的 IDE,由著名的 JetBrains 公司开发。JetBrains 的明星 IDE 还有 PyCharm(适用于 Python 语言),WebStorm(适用于 JavaScript 语言),IntelliJ IDEA(适用于 Java 和 Kotlin 语言),GoLand(适用于 Go语言),等等。JetBrains 公司还开发了 Kotlin 语言,还和 Google 公司合作发行了 Android 的最强开发 IDE:Android Studio。JetBrains 的 Clion 这款 IDE 非常强大,用户体验非常好。
    缺点:基础版本是收费的。不过,如果你是学生或教师,或者目的是课堂教学,或者你有不错的开源项目,等等,可以享受 JetBrains 的免费或减免优惠,请见 https://www.jetbrains.com/idea/buy/#discounts?billing=yearly

Code::Blocks


Code::Blocks 是一款很不错的 IDE,不过目前只有英文版,当然网上也有汉化版本。

不过既然学编程,就尽量把英语这关过了,也不需要太厉害的英语,基础就好。毕竟汉化版有的翻译不到位,可能会影响使用。而且好的编程资源基本都是英语的。

请参看我的 对于程序员, 为什么英语比数学更重要? 如何学习 一文。

下载 Code::Blocks

先去 Code::Blocks 的官方下载页面:http://www.codeblocks.org/downloads/binaries

  • Windows 用户请下载 .exe 结尾的文件,请注意要下载名字里有 mingw 的那个(比如 codeblocks-20.03mingw-setup.exe),因为如果没有 mingw 这几个字母的版本不包含编译器,就会很麻烦。

  • Linux 用户请下载对应你的操作系统的版本。

  • 苹果 macOS 用户请下载对应 macOS 的版本(貌似 macOS 版已经比较滞后了) 。

安装运行 Code::Blocks

Code::Blocks 的安装太简单了,就跟安装 QQ 没什么区别,一路默认到底就好。

安装完之后双击运行,你可以看到如下图的界面:

上图中标注了四个区域:

  1. 工具栏:有很多按钮,但只有几个是真正我们时常用到的。

  2. 项目文件列表区:左边的栏里面显示了你的项目的所有文件

  3. 主界面:写代码的地方

  4. 通知栏:会看到运行的错误,编译的问题等等

如何来创建一个 C++ 语言的基本的控制台应用程序呢?

首先到菜单里,File -> New -> Project,会打开如下的窗口:

可以看到,Code::Blocks 支持非常多的程序类型,这些程序类型用到不同的库,比如 SDL(开发 2D 程序),OpenGL(开发 3D 程序),Qt 和 wxWidgets,等等。

目前,这些图标很多都只是好看而已,因为你还没安装对应的库,所有不能用。暂时我们只用最基本的 Console application(控制台应用,简单来说就是会弹出一个框,里面显示程序运行的结果)。

选择 Console application,点击 Go 按钮到下一步:

Project Title 里面填写你要创建的项目名称,我们填的是著名的 HelloWorldFolder to create project in 是选择项目存放的路径。

点击 Next 到下一步:

这里我们不必更改什么,默认就好。点击 Finish(完成)结束配置,Code::Blocks 就会创建你的第一个项目了。

Visual Studio


下载 Visual Studio,推荐去官方下载页面 https://visualstudio.microsoft.com/downloads 。选择适合你的操作系统的版本来下载。

​大家可以去参考网上的安装和使用图文教程。

安装完运行后应该是与 Code::Blocks 类似的布局:

Xcode


macOS 操作系统里有不少 IDE,但是 Xcode 却是广大苹果用户的最爱。

不是所有的苹果用户都是程序员,所以苹果没有在 macOS 系统里预装 Xcode,你需要到 Mac App Store(应用商店)下载 Xcode(需要有苹果账户,没有可以注册一个)。

安装很方便,只要去 App Store 搜索 Xcode,然后点击 Install(安装),就安装到应用程序里了。将 Xcode 运行起来:

然后选择 Create a new Xcode project(创建一个新的 Xcode 项目),会弹出如下窗口:

选择 OS X -> Application -> Command Line Tool,点击 Next 到下一步:

Project Name 里填写项目名称,我们填了 HelloWorldLanguage(语言)选择 C++ 语言,点 Next 下一步,会让你选择项目文件夹的存放路径,随便选择。然后点击 Finish 完成。

项目打开之后,点击三角形按钮,运行,可以看到输出了 Hello World!

强大的 Visual Studio Code


对了,顺便一提,现在开发 C++,你也可以使用 Visual Studio Code(简称 VS Code)这个微软开源的代码编辑器。

虽说 VS Code 本身是一个代码编辑器,但是它丰富的插件却可以将其变成一个不俗的 IDE。VS Code 跨平台(在 Windows,Linux 和 macOS 中都可以运行),体积小,速度快,现在已经成为了很多开发者的最爱。

如果你不想安装 Visual Studio 这样比较大型的 IDE,也可以试试 VS Code。

VS Code 的官网是 https://code.visualstudio.com 。下载后安装非常简单,就和安装普通软件没什么区别。

打开 VS Code 后,针对某种编程语言例如 C++,只需要安装对应的官方插件(由微软开发),即可运行和调试该语言,也就是摇身一变成为该语言的 IDE 了。

例如我在 VS Code 中安装了微软官方的 C++ 插件。

这些年微软自从 萨提亚·纳德拉(Satya Nadella)担任 CEO 之后,逐渐拥抱开源,确实为互联网领域做出了不少贡献。

4. 总结


  1. 一个程序要从开始编写到能够运行,一般来说需要三种工具:文本编辑器,编译器,调试器(对于 Python 这样的解释性语言,就不需要编译了。当然了,其实要深究的话,Python 也是和 Java 类似的,先编译为字节码,再被 Python 虚拟机解释执行的)。

  2. 我们可以分开使用这三种工具来完成任务。但是比较方便的是使用 IDE(集成开发环境,混合了这三者)来开发。

  3. CLion,Eclipse,Code::Blocks,Visual Studio,Xcode 是著名的 IDE。当然还有很多优秀的 IDE,就不一一介绍了。IDE 只是工具。你也可以用 Vim,Emacs,Sublime,VS Code,Atom 这类文本编辑器来写 C++ 程序。VS Code 通过安装 C++ 插件,可以变成轻量级的 C++ IDE。

  4. 学习这门课的时候,你完全可以随自己意思来选择你的开发环境,不必一定和我一样。

5. 第一部分第三课预告


今天的课就到这里,一起加油吧!

下一课:C++探索之旅 | 第一部分第三课:你的第一个C++程序


我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。

热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容