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

上一课是 [C语言探索之旅 | 第一部分第一课:什么是编程?(https://www.jianshu.com/p/e5a138921861)
) ,这一课我们就正式进入 C语言编程的正题了。

这一课我们将回答以下问题:

我们需要什么软件来编程呢?

这一课大家可以轻松地度过,因为没有什么难点(不过也有不少知识点)。我们会花点时间来认识一些常用的编程软件。

应该好好享受这一课,因为下一课开始我们就要一起写程序了,所以该喝咖啡的喝咖啡,该吃烤鸡的吃烤鸡,休息好了,才能上阵。

2. 编程的必要工具

依你看,什么软件对编程来说是必要的呢?如果你认真学了上一课,那你至少可以说出一种吧。

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

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

比较常用的有 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)。

image

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

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

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

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

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

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

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

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群1075673198,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

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 来做演示。

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