说到GCC,就不得不提到GNU项目。 GNU 的正式名称是 GNU Not UNIX,也称为“Genu 计划”,由 Richard Stallman 于 1983 年启动。 GNU 项目的最终目标是创建一个完全免费(即自由使用、自由修改和自由发布)的开源操作系统,最初将其命名为 GNU 操作系统(其徽标如图所示)。图 1)。

GNU计划的实施经历了坎坷。最重要的是,尽管该计划为GNU操作系统量身定制了名为Thr Hurd的系统内核,但其性能却不如2000年诞生的Linux内核。最终,我放弃了GNU计划,选择了Linux作为硬件GNU操作系统的内核。基于Linux内核,GNU项目开发了许多系统组件,其中之一就是GCC(以及一些非常有用的软件,例如Emacs)。
由此看来,GNU Project 终于实现了“创建一个自由开源的操作系统”的初衷,但由于该操作系统并非完全由 GNU Project 创建,因此 GNU/Linux 操作系统被称为。 (人们习惯称其为Linux操作系统)。请注意,开源和自由并不意味着没有材料。
GCC早期的全称是GNU C Compiler,是从GUN项目中发展出来的C语言编译器,但显然GCC最初的定位其实只是为了编译C语言。不过,经过多年的不断迭代,GCC的能力得到了极大的扩展,现在它不仅可以用来编译C语言程序,还可以编译C++、Go、Objective-C等编译型语言编写的C语言程序。您还可以处理程序。同时,之前的GNU C编译器无法完全解释GCC的含义,因此其英文全称被重新定义为GNU Compiler Suite,GNU编译器集合。
所谓编译器,可以简单理解为“翻译器”。要知道,计算机只能理解二进制指令(仅由0和1组成的指令)。我们日常编写的C语言代码、C++代码、Go代码等对计算机来说是完全看不到的;通过翻译每个语句来执行二进制指令。
因此,GCC编译器不再改进。截至今天(2020年5月),GCC已经从最初的1.0版本发展到10.1版本,其间经历了数百个版本迭代。作为最流行的编译器之一,GCC 已被移植到数千种硬件/软件平台上,几乎所有 Linux 发行版也默认安装了 GCC 编译器。
| 硬件 | 操作系统 |
|---|---|
| 阿尔法 | 红帽Linux 7.1 |
| HPPA | HPUX11.0 |
| 英特尔x86 | Debian Linux 2.2、红帽 Linux 6.2 和 FreeBSD 4.5 |
| 米普斯 | IRIX6.5 |
| 电力电脑 | AIX4.3.3 |
| 火花 | 索拉里斯2.7 |
最初的GCC编译器没有熟悉的界面窗口,要使用它必须创建相应的gcc命令。所谓原味是指纯GCC编译器和集成了GCC编译器的开发软件(IDE),与前者相比,后者集成了GCC编译器的功能,同时提供了易于使用的界面窗口。用户无需记住gcc命令即可开始开发工作,大大降低了用户的学习成本。
操作系统大致分为两大阵营:Windows阵营和类Unix阵营(包括Unix、Linux、Mac OS、Android等)。通常,Windows系统上的用户习惯于使用现有的IDE来编译程序,但在类Unix系统上,用户更喜欢直接编写相应的gcc命令来编译程序。
现在您已经了解了 GCC 编译器是什么,我们将向您展示在 CentOS 操作系统(Linux 发行版)上使用 gcc 命令运行 C 语言程序的示例。这可以让读者更直观地体验功能和使用。海湾合作委员会编译器。
下面是用vim编辑器编写的完整的C语言程序。它的功能是输出“Hello, World!”。

图1 在Linux系统上创建C语言程序
该程序允许您使用以下 gcc 命令:
gcc demo.c -o demo.exe
gcc命令各部分的含义在后续章节中有详细解释,这里不再赘述。
下图展示了如何使用gcc命令将C语言代码编译成可执行文件。

图2 gcc命令编译C语言程序
通过编写并运行相应的gcc命令,您可以轻松地将编写的程序编译为二进制可执行文件,如图2所示。
那么如何编写 gcc 命令呢?不用担心。这将在后面的章节中详细解释。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

