你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

自学C语言和C++编程开发前的一些准备工作

[复制链接]
gaosmile 发布时间:2020-10-5 21:21
本篇内容简介
  • 前言
  • 编程的必要工具
  • 选择你的 IDE
  • 总结

1. 前言
本文就来聊一聊我们自学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 表示排除程序错误的行为。现在霍普的笔记本,连同那只“呆萌”的飞蛾,陈列在美国历史博物馆里。

微信图片_20201005211347.png

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

当然,如果你有“冒险精神”,喜欢挑战,也可以不用调试器(通过一些小技巧也是可以自己找到错误所在的)。但是,我想一般来说你是会需要调试器的。
所以,我们就有两个选择了:
  • 分开使用文本编辑器,编译器和调试器这三种工具。虽然复杂一些,但是也行得通。特别在 Linux 环境下,不少程序员还是喜欢用这种方式来编程,可能不是装,要的就是这个 feel,倍儿爽。
  • 使用一种软件,这种软件集合了这三种工具的功能。这种软件被称为 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 Express(现在改名叫 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 下载到。

微信图片_20201005211351.png
  • 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 非常强大,用户体验非常好。下载链接是:https://www.jetbrains.com/clion
    缺点:基础版本是收费的。不过,如果你是学生或教师,或者目的是课堂教学,或者你有不错的开源项目,等等,可以享受 JetBrains 的免费或减免优惠。

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 没什么区别,一路默认到底就好。
安装完之后双击运行,你可以看到如下图的界面:
微信图片_20201005211354.png
上图中标注了四个区域:
  • 工具栏:有很多按钮,但只有几个是真正我们时常用到的。
  • 项目文件列表区:左边的栏里面显示了你的项目的所有文件
  • 主界面:写代码的地方
  • 通知栏:会看到运行的错误,编译的问题等等

如何来创建一个 C++ 语言的基本的控制台应用程序呢?
首先到菜单里,File -> New -> Project,会打开如下的窗口:
微信图片_20201005211358.png
可以看到,Code::Blocks 支持非常多的程序类型,这些程序类型用到不同的库,比如 SDL(开发 2D 程序),OpenGL(开发 3D 程序),Qt 和 wxWidgets,等等。
目前,这些图标很多都只是好看而已,因为你还没安装对应的库,所有不能用。暂时我们只用最基本的 Console application(控制台应用,简单来说就是会弹出一个框,里面显示程序运行的结果)。
选择 Console application,点击 Go 按钮到下一步:
微信图片_20201005211401.png
Project Title 里面填写你要创建的项目名称,我们填的是著名的 HelloWorld。Folder to create project in 是选择项目存放的路径。
点击 Next 到下一步:
微信图片_20201005211404.png
这里我们不必更改什么,默认就好。点击 Finish(完成)结束配置,Code::Blocks 就会创建你的第一个项目了。
Visual Studio
下载 Visual Studio,推荐去官方下载页面 https://visualstudio.microsoft.com/downloads 。选择适合你的操作系统的版本来下载。
大家可以去参考网上的安装和使用图文教程。
安装完运行后应该是与 Code::Blocks 类似的布局:
微信图片_20201005211407.png
Xcode

macOS 操作系统里有不少 IDE,但是 Xcode 却是广大苹果用户的最爱。
不是所有的苹果用户都是程序员,所以苹果没有在 macOS 系统里预装 Xcode,你需要到 Mac App Store(应用商店)下载 Xcode(需要有苹果账户,没有可以注册一个)。
安装很方便,只要去 App Store 搜索 Xcode,然后点击 Install(安装),就安装到应用程序里了。将 Xcode 运行起来:
微信图片_20201005211411.png
然后选择 Create a new Xcode project(创建一个新的 Xcode 项目),会弹出如下窗口:
微信图片_20201005211414.png
选择 OS X -> Application -> Command Line Tool,点击 Next 到下一步:
微信图片_20201005211418.png
Project Name 里填写项目名称,我们填了 HelloWorld。Language(语言)选择  C++ 语言,点 Next 下一步,会让你选择项目文件夹的存放路径,随便选择。然后点击 Finish完成。
微信图片_20201005211421.png
项目打开之后,点击三角形按钮,运行,可以看到输出了 Hello World!:
微信图片_20201005211424.png
强大的 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++ 插件。
微信图片_20201005211427.png
这些年微软自从 萨提亚·纳德拉(Satya Nadella)担任 CEO 之后,逐渐拥抱开源,确实为互联网领域做出了不少贡献。
4. 总结
  • 一个程序要从开始编写到能够运行,一般来说需要三种工具:文本编辑器,编译器,调试器(对于 Python 这样的解释性语言,就不需要编译了。当然了,其实要深究的话,Python 也是和 Java 类似的,先编译为字节码,再被 Python 虚拟机解释执行的)。
  • 我们可以分开使用这三种工具来完成任务。但是比较方便的是使用 IDE(集成开发环境,混合了这三者)来开发。
  • CLion,Eclipse,Code::Blocks,Visual Studio,Xcode 是著名的 IDE。当然还有很多优秀的 IDE,就不一一介绍了。IDE 只是工具。你也可以用 Vim,Emacs,Sublime,VS Code,Atom 这类文本编辑器来写 C++ 程序。VS Code 通过安装 C++ 插件,可以变成轻量级的 C++ IDE。


收藏 评论0 发布时间:2020-10-5 21:21

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版