GNU编译器是C,C++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。许多开源项目,包括Linux内核和GNU工具,都是使用GCC编译的。
除了这些语言使用gcc/g++编译器,Python和Node.js的第三方库或者软件,都可能会使用gcc
/g++
编译器。
安装GCC
默认的Debian存储库包含一个名为build-essential
的开发者工具集,其中包括GNU编译器集合,GNU调试器以及编译软件所需的其他开发库和工具。
如需要安装build-essential
开发工具包,请以root用户或具有sudo权限的用户运行以下apt
命令:
sudo apt update
sudo apt install build-essential
该命令会安装很多软件开发者工具,包括gcc
,g++
和make
以及常用c/c++的头文件。
除了安装c/c++开发者工具之外,您还可能需要安装GNU/Linux开发手册,这些手册页描述了Linux编程接口的说明。
如果你是Linux开发者可能需要这些文档,运行以下apt
命令安装Linux编程接口的说明:
sudo apt-get install manpages-dev
至此,你已经完成gcc/g++开发工具的安装。
我们需要验证gcc/g++开发工具是否正确的安装,并检查gcc/g++的版本是否符号你要编写c/c++标准库的要求。
你可运行以下的gcc
/g++
命令打印GCC版本,验证GCC编译器是否已成功安装:
gcc --version
g++ --version
gcc (Debian 9.3.0-Debian) 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.
Debian 10存储库的GCC版本是9.3.0
。至此gcc开发者工具和库已安装在您的Debian系统上。
Hello World
在本节中,我们将使用gcc编译简单的C程序。打开您的喜欢代码编辑器并创建以下hello.c
文件,在本教程中,我们将使用vscode编辑器创建hello.c
文件。
使用快捷键ctrl+alt+t
打开终端,然后运行code
命令打开vscode编辑器:
code
创建hello.c文件,并复制以下代码到文件中:
保存文件,并通过运行以下gcc
命令将hello.c
编译为可执行文件:
gcc hello.c -o hello
gcc
命令将在当前目录中创建一个二进制文件hello
。你可通过以下命令执行hello
程序:
./hello
Hello World!
安装多个GCC版本
在本节中将说明如何在安装多个版本的gcc在Debian 10。这可以使你获得GCC编译器的新版本,新功能和优化。编写更高版本标准库的代码。
在撰写本文时,默认的Debian存储库包含从7.x.x
到10.x.x
的多个GCC版本。在以下示例中,我们将安装最新的三个版本的gcc
编译器和g++
编译器。
以下apt
命令将安装gcc
/g++
编译器的8/9/10的版本,你可选择全安装,也可以选择你是使用的编译器版本:
sudo apt install gcc-8 g++-8 gcc-9 g++-9 gcc-10 g++-10
现在已经安装多个版本的gcc
/g++
编译器的编译。我们需要一个简单快捷的方式切换gcc/g++版本。
update-alternatives
可以帮助我们快速切换gcc/g++的版本。update-alternatives
可以帮我们维护gcc
/g++
默认命令的符号链接。使我们可以快速切换命令的版本。
由于gcc
/g++
安装的安装脚本并没有设置使用update-alternatives
设置默认的版本, 因此我们需要手动将gcc添加到update-alternatives
,并由update-alternatives
维护默认版本。
以下三个update-alternatives
命令将安装gcc编译器8/9/10版本,这时gcc的符号链接由update-alternatives
来维护。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
这里解释一下命令的含义,--install是update-alternatives
的子命令,/usr/bin/gcc是符号链接/软链接文件,/usr/bin/gcc-9
是gcc
的绝对路径,100是优先级。
你也可以使用同样的方式配置g++编译器命令的快速切换。由update-alternatives
维护g++命令的符号链接/软链接。
设置update-alternatives
完成以后,如果要更改默认版本,请使用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:
系统会为您提供Debian系统上所有已安装GCC版本的列表。输入您要用作默认版本的版本号,然后按Enter
。
该命令将修改/usr/bin/gcc
符号链接,并将链接指向你选择的gcc
版本。g++的配置方式与gcc
一样。
结论
我们向您展示了如何安装gcc
/g++
在Debian 10上。您现在可以访问官方GCC文档页面,并学习如何使用GCC和G ++来编译C和C++程序。如果您遇到问题或有反馈,请在下面发表评论。