GNU编译器集合GCC是C,C ++,Objective-C,Fortran,Ada, Go 和D编程语言的编译器和库的集合。 许多开源项目,包括Linux内核和GNU工具,都是使用GCC编译的。
本文介绍了如何在Ubuntu 20.04上安装GCC。
在Ubuntu 20.04上安装GCC
默认的Ubuntu存储库包含一个名为“ build-essential”的软件包,其中包括GNU编译器集合,GNU调试器以及编译软件所需的其他开发库和工具。
要安装开发工具包,请以root用户或具有sudo权限的用户身份运行以下命令:
sudo apt update
sudo apt install build-essential
该命令会安装很多软件包,包括gcc
,g++
和make
。
您可能还需要安装有关使用GNU / Linux进行开发的手册页:
sudo apt-get install manpages-dev
通过运行以下的命令打印GCC版本,验证GCC编译器是否已成功安装:
gcc --version
Ubuntu 20.04存储库提供了GCC版本9.3.0
:
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 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工具和库已安装在您的Ubuntu系统上。
编译Hello World示例
使用GCC编译基本的C或C ++程序非常容易。 打开您的文本编辑器并创建以下文件:
nano hello.c
hello.c
// hello.c
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
保存文件并将其编译为可执行文件:
gcc hello.c -o hello
这会在运行命令的同一目录中创建一个名为hello
的二进制文件。
执行以下步骤hello
程序:
./hello
程序应打印:
Hello World!
安装多个GCC版本
本部分提供有关如何在Ubuntu 20.04上安装和使用多个版本的GCC的说明。 GCC编译器的较新版本包括新功能和优化改进。
在撰写本文时,默认的Ubuntu存储库包含从7.x.x
到10.x.x
的多个GCC版本。
在以下示例中,我们将安装最新的三个版本的GCC和G ++。
通过键入以下命令安装所需的GCC和G ++版本:
sudo apt install gcc-8 g++-8 gcc-9 g++-9 gcc-10 g++-10
以下命令为每个版本配置替代版本,并将优先级与之关联。 默认版本是优先级最高的版本,在我们的示例中为gcc-10
。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
以后,如果要更改默认版本,请使用update-alternatives
命令:
sudo update-alternatives --config gcc
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-10 100 auto mode
1 /usr/bin/gcc-10 100 manual mode
2 /usr/bin/gcc-8 80 manual mode
3 /usr/bin/gcc-9 90 manual mode
Press <enter> to keep the current choice[*], or type selection number:
系统会为您提供Ubuntu系统上所有已安装GCC版本的列表。 输入您要用作默认版本的版本号,然后按Enter
。
该命令将创建指向特定版本的GCC和G ++的符号链接。
结论
我们向您展示了如何在Ubuntu 20.04上安装GCC。 您现在可以访问官方 GCC文档页面,并学习如何使用GCC和G ++来编译C和C ++程序。
如果您遇到问题或有反馈,请在下面发表评论。