C语言探索之旅 | 第一部分第二课:工欲善其事,必先利其器

做者 谢恩铭,公众号「程序员联盟」。 转载请注明出处。 原文:www.jianshu.com/p/60caadd22…html

《C语言探索之旅》全系列git

内容简介


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

1. 前言


上一课是 C语言探索之旅 | 第一部分第一课:什么是编程? ,这一课咱们就正式进入 C语言编程的正题了。程序员

这一课咱们将回答如下问题:github

咱们须要什么软件来编程呢?编程

这一课你们能够轻松地度过,由于没有什么难点(不过也有很多知识点)。咱们会花点时间来认识一些经常使用的编程软件。小程序

应该好好享受这一课,由于下一课开始咱们就要一块儿写程序了,因此该喝咖啡的喝咖啡,该吃烤鸡的吃烤鸡,休息好了,才能上阵。vim

2. 编程的必要工具


依你看,什么软件对编程来讲是必要的呢?若是你认真学了上一课,那你至少能够说出一种吧。xcode

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

上一课咱们也提了一下,每种高级语言都有对应的编译器(固然对于 Python 这样的解释性语言,就不须要编译了),光是 C语言的编译器就有不少。app

比较经常使用的有 GCC(GNU C Compiler。GNU 是国际著名的自由软件基金会,GNU 是“GNU is Not Unix”(GNU 不是 Unix)的递归缩写法。

老外老是那么顽皮,起名字也喜欢整一些编程的知识,好比 Linux 就是“Linux Is Not Unix”(Linux 不是 Unix)的递归。要不就用不少动物的名字或图标,特别有意思)。

除了编译器,咱们还须要什么工具呢?

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

  • 文本编辑器:Text Editor。用来写源代码的工具。理论上 Windows 操做系统的记事本或者 Linux 下的 Nano 编辑器均可以做为文本编辑器来使用。可是,最好仍是用一些更高级一点的文本编辑器,好比能够支持代码高亮显示,方便你在代码间跳转,等。我的推荐的文本编辑器是 VS CodeVimEmacs。这几个文本编辑器真的很是强,跨平台(Windows、Linux、macOS,等),能够自由定制,各类快捷键组合,有的还能够收发邮件,看视频,浏览网页,浏览 PDF,没有作不到,只有想不到(略有夸张...),可让你编辑代码很是高效。Vim 和 Emacs 是老牌的文本编辑器,粉丝不少。VS Code 是微软在 2015 年发布的一款免费开源的现代化轻量级代码编辑器,如今也很是火。

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

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

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

固然,若是你有冒险精神,喜欢挑战,也能够不用调试器(经过一些小技巧也是能够本身找到错误所在的)。可是,我想通常来讲你是会须要调试器的。

因此,咱们就有两个选择了:

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

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

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

其实咱们能够确定的是:不论你选择哪一种工具,你均可以编写你想要的程序。只是效率,我的习惯和特定平台要求不一样罢了。

其实,你也能够用 VS Code、Vim、Emacs 这样的文本编辑器,经过安装一些插件,使其可以编译运行 C语言的程序。网上有很多图文教程,请你们自行搜索。

3. 选择你的 IDE


我以为有必要向你们展现几个最著名的 IDE:

  • 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 的免费或减免优惠,请见 www.jetbrains.com/idea/buy/#d…

  • Eclipse:免费,开源,跨平台的 IDE。老牌的 IDE 了,Eclipse 也是一个开源基金会,旗下有很多优秀的开源项目。若是要用 Eclipse 来开发 C语言或 C++语言的程序,须要下载安装 Eclipse CDT 这款 IDE。 缺点:近几年感受被 JetBrains 公司的 IDE 抢了风头。我早年编程或开发 Android 应用的时候使用过 Eclipse,但如今我已经彻底投向 JetBrains 的怀抱(Python 编程我用 PyCharm,C/C++ 编程我用 CLion,Java/Kotlin 编程我用 IntelliJ IDEA,Android 开发我用 Android Studio,等等),由于 JetBrains 的 IDE 真的都太好用了。不过目前仍是有很多人使用 Eclipse 来进行开发的。

  • Code::Blocks :免费,开源,跨平台的 IDE。Code::Blocks 的开发环境搭建起来很是快,几乎不须要什么配置。 缺点:近几年 Code::Blocks 更新有点缓慢,只有 Linux 和 Windows 的版本有陆陆续续的更新。感受这款开源社区维护的 IDE 可能人手和资金有不足的趋势。

  • Visual Studio :简称 VS。VS 功能很完备,并且调试器很强大。 缺点:只能运行在 Windows 操做系统上,安装体积大。基础版本是收费的。有一个 Visual Studio Community 的社区版本是免费的。

  • Xcode :做为苹果的编程当家 IDE,不得不说 Xcode 作得至关不错。能够用来开发基本的小程序,也能够编写 iPhone、iPad 和 macOS 的 app(模拟器速度超快),和智能手表应用,还能够和其余如 Unity 3D 引擎配合来编写游戏。 缺点:只能运行在苹果 macOS 操做系统上,安装体积大。

对于各个平台的学习 C语言的用户,我我的的一些建议是:

  • Windows 用户:能够安装 Code::Blocks,或者 Visual Studio,或者 Eclipse CDT,等等。

  • Linux 用户:能够安装 Code::Blocks,或者 Eclipse CDT,等等。固然了,若是你是 C语言的初学者,Linux 下其实我比较推荐用文本编辑器来写 C语言的源代码,而后用 GCC 来编译,用 GDB 来调试 C 语言的程序。要入门并提升 Linux,能够看我在慕课网的实战课程《Linux核心技能与应用》,或者专栏《Linux命令行与Shell脚本编程大全》。

  • macOS 用户:能够安装 Xcode,或者 Eclipse CDT,或者 Visual Studio for Mac,等等。

学习这门 C语言的课程,你们能够随意选用本身最喜欢和使用最顺手的 IDE,网上也有各类 IDE 的下载安装的图文教程,我就不一一演示了。我但愿你们可以下载安装本身最喜欢和用起来最顺手的 IDE,经过 IDE 官网的教程或者网上的图文教程来安装配置好 IDE,并学会如何建立一个 C语言的项目,并运行。 固然,我前面提过,你也能够用 VS Code、Vim、Emacs 这样的文本编辑器,经过安装一些插件,使其可以编译运行 C语言的程序。 本课程中我会提供 C语言的代码。IDE 的选择我会使用我的喜欢的 IDE 来作演示。

4. 总结


  1. 一个程序要从开始编写到可以运行,通常来讲须要三种工具:文本编辑器,编译器,调试器(固然对于 Python 这样的解释性语言,就不须要编译了)。

  2. 咱们能够分开使用文本编辑器,编译器,调试器这三种工具来完成任务。可是比较方便的是使用IDE(集成开发环境,混合了这三者)来开发。

  3. IDE 只是工具。你们可使用本身熟悉和喜欢的 IDE 来进行本课程的学习。

今天的课就到这里,一块儿加油吧。

5. 第一部分第三课预告


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

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

下一课一块儿来写咱们的第一个 C语言的程序咯。


我是 谢恩铭,公众号「程序员联盟」运营者,慕课网精英讲师 Oscar 老师,终生学习者。 热爱生活,喜欢游泳,略懂烹饪。 人生格言:「向着标杆直跑」

相关文章
相关标签/搜索