The GNU Compiler Collection (GCC) 是一系列编译器的集合,它包括 C,C ,Objective-C, Fortran, Ada, Go, 和 D 语言。很多开源的项目包括 GNU 工具和 Linux Kernel 都是用 GCC 编译的。
这篇指南讲解了在 CentOS 7 上如何安装 GCC 编译器。我们将会讲解如何安装发行稳定版本和从 SCL 源上安装更新的版本。
一、前提条件
想要在你的 CentOS 系统上添加新的软件源,安装软件包,你必须以 root 或者有 sudo 权限的用户身份登录系统。
二、在 CentOS 上安装 GCC
默认的 CentOS 软件源上包含一个名称为Development Tools
的软件包组,这个组合包含了 GCC 编译器以及一系列库文件,还有其他编译软件需要用到的工具。
想要安装 Development Tools 包含 GCC 编译器,运行:
代码语言:javascript复制sudo yum group install "Development Tools"
这个命令安装了一组新的软件包,包括gcc
,g
,和make
。
你可能还想安装关于使用 GNU/Linux 进行开发的用户手册:
代码语言:javascript复制sudo yum install man-pages
使用gcc -version
来验证 GCC 编译器是否安装成功,它会打印 GCC 版本:
gcc --version
在 CentOS 7 软件源上,默认 GCC 可用版本是4.8.5
:
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
就这些.GCC 已经在你的系统上安装成功,你可以开始使用它了。
三、编译一个 Hello World 实例
使用 GCC 编译一个 C 或者 C 程序是一个很简单的任务。打开你的文本编辑器,并且创建以下文件:
代码语言:javascript复制nano hello.c
代码语言:javascript复制#include <stdio.h>
int main()
{
printf ("Hello World!n");
return 0;
}
保存文件并且通过下面的命令,将它编译成可执行文件:
代码语言:javascript复制gcc hello.c -o hello
这将会在同一个文件夹下创建一个名称为hello
的二进制文件。
执行这个hello
程序:
./hello
程序应该输出:
代码语言:javascript复制Hello World!
四、安装多版本 GCC
在这一段,我们将会提供指令,关于在 CentOS 7 如何安装和使用多版本的 GCC。更新版本的 GCC 编译器,包含对新语言的支持,更好的性能,额外的特性。
Software Collections,我们熟知的 SCL,是一个社区项目,它允许你在同一个系统上编译,安装,并且使用多个版本的软件。通过启用软件集合,你可以安装核心软件源上没有的,更新版本的编程语言和服务。
SCL 软件源上提供了一个名为Developer Toolset
的软件包,它包含了 GNU Compiler Collection 的更新版本,以及其他开发和调试工具。
首先,安装 CentOS SCL 文件。它是 CentOS 附加源的一部分,你可以通过以下命令安装它:
代码语言:javascript复制sudo yum install centos-release-scl
现在,下面的开发工具集合都可以用了:
- Developer Toolset 7
- Developer Toolset 6
在这个例子中,我们安装 Developer Toolset 7。想要这么做,请在你的 CentOS 终端输入下面的命令
代码语言:javascript复制sudo yum install devtoolset-7
想要访问 GCC 7,你需要使用软件集合工具scl
,启动一个新的 shell:
scl enable devtoolset-7 bash
现在,你检查你的 GCC 版本,你可以注意到 GCC7 已经是你的当前 shell 的默认版本:
代码语言:javascript复制gcc --version
代码语言:javascript复制gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
此时,你可以使用新版本 GCC,就像其他的工具一样。
五、总结
你已经在你的 CentOS 7 上成功安装了 GCC。现在你可以浏览官方 GCC 文档页面,并且学习如何使用 GCC 和 G 来编译你的 C 和 C 程序。