网站搜索

在 Debian/Ubuntu 中安装 C、C++ 编译器和开发(构建必需)工具


大多数 Linux 系统管理员和工程师都需要了解一些基本编程来帮助他们完成日常任务。如果他们也想进一步进入开发领域(无论是作为内核程序员还是应用程序程序员),那么 CC++ 是最好的起点。

另请阅读:在 RHEL/CentOS/Fedora 中安装 C、C++ 和开发工具

在本文中,我们将解释如何安装CC++编译器及其开发工具build-essential ) Debian 中的 make、libc-dev、dpkg-dev 等相关软件包以及 UbuntuLinux Mint 等衍生产品。

build-essential 软件包含一个信息列表,其中列出了对于构建 Debian 软件包非常重要的软件,包括 gcc 编译器、make 和其他所需的工具。

什么是编译器?

简而言之,编译器是一种软件程序,它处理用编程语言编写的指令,并创建机器的 CPU 可以理解和执行的二进制文件。

在基于 Debian 的发行版中,最知名的 CC++ 编译器分别是 gccg++。这两个程序都是由自由软件基金会通过GNU项目开发并维护的。

安装 C、C++ 编译器和开发工具(构建必备)

如果您的系统默认情况下没有安装 build-essential 软件包,您可以从默认分发存储库安装最新的可用版本,如下所示:

apt-get update && apt-get install build-essential     
OR
sudo apt-get update && sudo apt-get install build-essential

现在我们准备开始输入CC++代码......或者几乎。我们将向您展示另一种工具来增强您的开发工具集。

加速 C 和 C++ 编译

当您知道需要编译程序、进行更改,然后再次重新编译时,拥有像 ccache 这样的工具非常棒,您可能会根据其名称猜到它是编译器缓存。

它通过缓存以前的编译并检测何时再次进行相同的编译来加速重新编译。除了CC++之外,它还支持Objective-CObjective-C++。唯一的限制是:

  1. 仅支持缓存单个C/C++/Objective-C/Objective-C++ 文件的编译。对于其他类型的编译(多文件编译、链接等),该过程最终将运行真正的编译器。
  2. 某些编译器标志可能不受支持。如果检测到这样的标志,ccache 将默默地回退到运行真正的编译器。

让我们安装这个工具:

aptitude install ccache

在下一节中,我们将看到一些使用和不使用 ccache 的 C 和 C++ 代码编译示例。

使用示例程序测试 C 和 C++

让我们使用一个非常基本的 C 程序的经典示例,该程序将两个数字相加。打开您喜欢的文本编辑器并输入以下代码,然后将其另存为 sum.c

#include<stdio.h>
int main()
{
   int a, b, c;
   printf("Enter two numbers to add, separated by a space: ");
   scanf("%d%d",&a,&b);
   c = a + b;
   printf("The sum of equals %d\n",c);
   return 0;
}

要将上述代码编译为当前工作目录中名为 sum 的可执行文件,请使用 -o 开关和 gcc

gcc sum.c -o sum

如果您想利用ccache,只需在上面的命令前面加上ccache即可,如下所示:

ccache gcc sum.c -o sum

然后运行二进制文件:

./sum

虽然这个基本示例不允许我们看到 ccache 的全部功能,但对于较大的程序,您很快就会意识到它是一个多么出色的工具。这同样适用于 C++ 程序。

概括

在本指南中,我们展示了如何在 Debian 及其衍生版本中安装和使用 C 和 C++ 的 GNU 编译器。此外,我们还解释了如何使用编译器缓存来加速相同代码的重新编译。虽然您可以参阅 gcc 和 g++ 的在线手册页以获取更多选项和示例,但如果您有任何问题或意见,请随时使用下面的表格给我们留言。