关注我比较久的读者应该知道,我是一名正儿八经的 Java 程序员,没用过 C 语言,也没有学过 C 语言,直到前几天我妹给我抱怨说,学校安排她们学的 C 语言太难了,她感觉什么也没学会,上课听不懂老师在讲啥,下课看书也看不懂,完全一副懵逼的状态。
没办法啊,要知道这可是亲妹。既然带她入了编程这个坑,就要负责到底!于是我就在知乎上搜怎么学习 C 语言,我决定身先士卒,下海学习一番!于是我搜啊搜,搜啊搜,终于搜到了一个不错的答案,答主推荐到哔哩哔哩上看一下浙大翁恺教授的视频教学。
我只能说视频的质量非常高,一下子就刷了三十多集。其中有一节讲到了 IDE 这一块,我就决定在我电脑上先安装一遍,试试效果。
首先,我们需要搞清楚一个概念,IDE 是什么?知道的读者请自觉跳过接下来的两段内容。
IDE 的全称是 Integrated Development Environment,中文名叫做集成开发环境。顾名思义,就是把代码编辑器、编译器、调试器,甚至代码版本管理等这些工具集合了起来,并提供了便捷的可视化用户操作界面。
说点题外话。十多年前,我接触的第一个 IDE 叫做 MyEclipse,在 Eclipse 的基础上增加了一些特殊的插件,主要用于 Java 企业级应用的开发。现在想想,还是想不明白,为什么老师会让我们用 MyEclipse 而不是 Eclipse 来学习 Java。
说回正题。翁恺教授在视频中推荐的 IDE 是 Dev-C++(好奇为什么不是 Dev-C),虽然这是一款免费的 IDE,安装也很简单,但该项目已经不再活跃,从 2005 年 2 月 22 日至 2011 年 6 月,Dev-C++ 的官方网站一直没有再发出任何新消息或者发布新版本,这说明 Dev-C++ 的开发已经进入了迟滞状态。
2006 年,Dev-C++ 的主要开发者 Colin Laplace 曾经对此作出了解释:“因忙于现实生活的事务,没有时间继续 Dev-C++ 的开发。
只能说可惜了!要知道,Dev-C++ 一度要移植到 Linux 上呢,这说明它真的辉煌过。
除了 Dev-C++,还有哪些可选项呢?
其实可以选择文本编辑器,比如 Sublime、Vim,和 MinGW 配合一起使用的话,也能写出漂亮的 C 代码,但它们不属于 IDE。
但既然说到这了,可能就会有一些读者好奇地问,MinGW 是什么东东?顺带了解下吧,毕竟我们要学习 C 语言的话,绕不开这个知识点。
MinGW(Minimalist GNU for Windows)将 GCC 编译器和 GNU Binutils 移植到 Win32 平台下的产物,包括一系列头文件、库和可执行文件。
嗯,GCC 又是什么东东呢?
GCC 的全称是 GNU Compiler Collection,是一套可以用来编译 C 语言的编译器,这听起来没什么牛逼的是吧?牛逼的是它被认为是跨平台编译器的标准!除了可以编译 C 语言,还可以处理 C++、Java、Go 等知名编程语言。这里多说一句哈。GCC 很有必要了解一下,因为后续在使用 IDE 编写第一个 C 语言程序的时候,就会碰到。如果不搞清楚的话,到时候就会有点懵逼。
许多类 Unix 系统(比如 FreeBSD、OpenBSD、Solaris,以及各种与传统 Unix 类似的系统,例如 Linux),都采用了 GCC 来作为标准编译器。
那,GNU Binutils 呢?好奇宝宝可能又要问。
GNU Binary Utilities 是一整套的编程语言工具,用来处理许多格式的目标文件,通常搭配 GCC、make 和 GDB 这些程序来使用。
至于 make 和 GDB,这里就不再顺藤摸瓜了,想要了解的读者可以自觉地谷歌下。嗯嗯嗯嗯,一不小心说多了,我们继续来说回 IDE 的事儿。
坦白地说吧,如果 CLion 有社区版的话,我一定会首选 CLion!
不为别的,就因为 CLion 是 JetBrains 公司开发的一款用于编写 C/C++ 的 IDE。JetBrains 这家公司发布过诸多爆款开发工具,比如 Java 集成开发环境 Intellij IDEA、PHP 集成开发环境 PhpStorm、Python 集成开发环境 PyCharm、Go 语言集成开发环境 GoLand。
不管是 Windows 平台还是 macOS 平台,或者是 Linux 平台,CLion 都提供了对应的版本可供下载。只不过,商业版只提供了 30 天的免费试用期。
不过,不过,不过,注意呀,如果哪个读者有教育邮箱(edu 结尾的那种)的话,请毫不犹豫地选择 CLion 吧,可以免费使用!下面这个地址是申请链接。
https://www.jetbrains.com/community/education/#students
如果没有教育邮箱可供使用的话,就只能退而求其次选择其他 IDE 了。大部分读者应该不会使用 Linux 来开发(如果有的话,请在留言区说 666),所以我只针对 Windows 平台和 macOS 来进行选择。
先说 macOS(我正在用)。
1)Code::Block,一个免费、开源、跨平台的集成开发环境,支持 C/C++ 编程语言的开发。我下载安装体验了一下,窗口竟然没办法缩放,撑满了整个桌面,个人感觉很笨拙,所以装完我就卸载了,本身已经过时了!
2)Eclipse,一款带着“情怀”的跨平台开源集成开发环境。最初主要用来编写 Java 代码,也可以通过插件使其作为 C/C++、Python、PHP 等其他编程语言的开发工具。
如果你是第一次使用 Eclipse 的话,可以在 Eclipse 官网直接下载 C/C++ Developers 版本;如果你的电脑上已经安装好了 Eclipse,可以在插件市场安装 C/C++ 的插件,如下图所示。
安装插件的过程可能会比较慢,我都差点要放弃。
安装成功后,就可以新建 C 语言的项目了,如下图所示。
之后,新建一个 hello.c 的文件,内容如下所示:
#include <stdio.h>
int main() {
printf("hello world");
return 0;
}
初学者可能看不懂,但没关系,只需要知道它是一段用 C 语言编写的,能输出“hello world”的代码就行了。然后点击像锤子符号的「Build」按钮对代码进行编译,「Console」 面板会有一段编译的日志输出,如下图所示。
再点击「Run」按钮就可以看到输出结果了。
3)Visual Studio Code,一个由微软开发,同时支持 Windows 、 Linux 和macOS 等操作系统的免费代码编辑器,还支持测试,并内置了 Git 版本控制功能,同时也具有代码补全、代码重构等开发功能。下载链接如下所示。
https://visualstudio.microsoft.com/zh-hans/
安装成功后打开,选择左侧的插件市场,可以看到很多编程语言的扩展插件,比如 C/C++、Python、C# 等等。我已经把 C/C++ 的插件安装好了,所以上面会显示 INSTALLED。
这里再推荐一个牛逼的插件 Code Runner,我的一个朋友韩俊的作品。安装好这个插件后,不用进行任何配置就能直接编译并运行 C 代码,默认情况下使用的是 GCC 编译器(前面内容提到过)。
直接在插件市场搜「Code Runner」关键字就可以找到该插件了。安装成功后,Visual Studio Code 的右上角会出现一个「△」符号,点击它就可以一键运行代码了!
新建一个 hello.c 的文件,把之前那段「hello world」的代码复制过来,保存后点击「运行」按钮,可以在「OUTPUT」面板中看到如下结果——搞定。
再说 Windows(之前买的华为的 matebook,我妹上大学后就送给了她,刚好她放假在我家,刚好给她装一下)。
1)Eclipse,Windows 上同样可以选择,但有一说一,不建议。
2)Visual Studio Community,也就是 VS 的社区版,免费的。它和 Visual Studio Code 不同,后者从严格意义上讲,只是一个文本编辑器,而 VS 才是一个真正的 IDE,包括了整个软件生命周期中所需要的大部分工具。
https://visualstudio.microsoft.com/zh-hans/vs/community/
但这玩意相当的重量级,光下载都得一会儿。
耐心地等待。安装完成后的那一刻,我听见笔记本的风扇在疯狂地呐喊。顾不上那么多了,新建一个空白项目,然后在源文件中添加一个 hello.c 文件,把之前“hello world”的代码复制过来,如下图所示。
点击「工具栏」中的「本地 Windows 调试器」运行该程序,可以在控制台中看到输出信息,如下图所示。
3)Visual Studio Code,Windows 上同样可以选择,但和 macOS 自带 GCC 不同,Windows 上默认是没有 C 语言的编译器的,所以不能直接拿 VSCode 直接来撸。
如上图所示,同样的代码,会提示 include path 的错误。怎么办呢?
我们需要先下载安装一下 MinGW,忘了 MinGW 是什么的读者可以回到前面的内容确认一下。MinGW 的下载地址如下所示:
https://sourceforge.net/projects/mingw-w64/
进入下载页面后,找到下图中红色框圈起来的文件,然后下载它。
下载完成后解压。
将 bin 路径配置到系统变量的 PATH 下。
然后启动 cmd,敲入 gcc -v
命令确认是否配置成功。如果出现下图中的信息,表明配置成功了(最后一行是 gcc 的版本号)。
再次启动 Visual Studio Code,发现之前提示的错误消失了。点击「运行」按钮,可以在「OUTPUT」面板中看到如下结果——搞定。
最后,总结一下,重要重要重要:
1)如果有教育邮箱的话,首选 CLion。原因一,JetBrains 公司的产品值得信赖;原因二,支持跨平台,Windows、macOS、Linux 都能用。希望后续能出一个社区版吧!
2)如果没有教育邮箱的话,选择 Visual Studio Code。原因一,颜值高、占内存小、插件丰富、简单易用;原因二,同样支持跨平台。
3)如果你是 Windows 用户的话,电脑上安装了 Visual Studio,用它来编写 C 语言的代码也是可以的;如果你是 macOS 用户的话,电脑上安装了 Eclipse,也可以将就着用。
4)如果电脑上安装了 GCC,编写的 C 代码不是特别复杂的话,也可以不用 IDE,直接使用文本编辑器,然后在命令行中运行也是可以的。具体步骤参照下图中的内容。
辛辛苦苦整理了一天,下海太累了。但我觉得很值得,我的辛苦付出不仅能给我妹起到一点点帮助,也能对 C 语言的初学者一点点帮助。最重要的是,C 语言常年以来都处在编程语言的前榜。
学习 C 语言能够让我们更深刻地认识内存和编译原理,了解程序的每一个细节,从而扎实编程的基本功。毕竟站得“低”才能望的远,嘿嘿。
要是觉得不错的话,那就帮二哥点个赞呗,给我更多下 C 海的决心。笔芯~
PS:读者朋友们顺带猜一猜,我妹学校的老师,让她们装了什么样的 IDE?当然了,答案我不打算告诉你们,因为真的,说出来怕你们笑话。你们懂的,大学教育就那么回事,还是我这个当哥亲自来教吧!