现在,作为系统管理员或工程师,您不能因为知道如何使用CLI和排除GNU / Linux服务器故障而感到满意,但需要进一步进入开发领域,以保持在游戏的顶部。 如果你正在考虑在内核开发或Linux应用程序方面的职业,那么C或C ++是最好的开始。
在RHEL / CentOS和Fedora中安装C C ++编译器和开发工具
另请参阅 : 安装C,C ++和于Debian / Ubuntu /薄荷构建基本工具
在本文中,我们将解释如何在Fedora和CentOS / RHEL系统中安装Gnu C和C ++编译器及其相关的开发工具,如automake,autoconf,flex,bison等。
什么是编译器?
简单来说,编译器是一种软件程序,它将以源语言编写的语句转换为机器CPU可以理解和执行的目标语言。
在Fedora和衍生工具(实际上,这是对整个Linux发行版的生态系统也是如此),最知名的C和C ++编译器gcc和g ++,分别包括发达国家和由自由软件基金会积极支持为一体的一部分GNU项目。
安装GCC(C ++编译器和开发工具
如果海湾合作委员会和/或g ++和它的相关的开发工具并不是默认安装在你的系统,你可以按照以下方法从仓库安装最新版本:
# yum group install 'Development Tools' [on CentOS/RHEL 7/6] # dnf group install 'Development Tools' [on Fedora 22+ Versions]
在我们深入编写C或C ++代码,有提高,我们要告诉你你的开发工具集的另一种工具。
在Linux中加速C和C ++编译
当你作为开发过程的一部分时,在对源代码进行更改后必须重新编译多次,所以有一个编译器缓存可以加快未来重新编译。
在Linux中,有一个名为ccache的一个工具,它通过缓存以前的汇编和当同一编译再次执行检测加快重新编译。 除了C和C ++,它也支持的Objective-C和Objective-C ++。
CCACHE只有一些限制:当重新编译一个文件是唯一有用的。 对于其他类型的编译,该进程将结束运行实际的编译器。 如果不支持编译器标志,同样的事情发生。 明亮的一面是,在任何情况下,它不会干扰实际的编译,不会抛出一个错误 - 只是落回到实际的编译器。
让我们来安装这个工具:
# yum install ccache
CCache - 在Linux中加速C和C ++编译
并看看它如何工作与一个例子。
用简单的C ++程序测试GNU C编译器
作为一个例子,让我们用一个简单的C ++程序,其计算的矩形的面积后的长度和宽度已被作为输入提供。
打开你喜欢的文本编辑器并输入以下代码,然后另存为area.cpp
:
#include <iostream> using namespace std; int main() { float length, width, area; cout << "Enter the length of the rectangle: "; cin >> length; cout << "Now enter the width: "; cin >> width; area = length*width; cout <<"The area of the rectangle is: "<< area << endl; return 0; }
要编译上面的代码到当前工作目录中名为面积可执行使用带有G ++ -o开关:
# g++ area.cpp -o area
如果你想利用的ccache的,只是前面加上ccache的上述命令,如下所示:
# ccache g++ area.cpp -o area
然后运行二进制:
./area
示例输出
Enter the length of the rectangle: 2.5 Now enter the width: 3.7 The area of the rectangle is: 9.25
在Linux中编译C ++代码
让你认为的ccache是没有用的,不要让这个简单的例子。 你会知道什么是伟大的工具的ccache重新编译了大量的源代码文件时。 同样的原则也适用于C程序。
概要
在这篇文章中,我们介绍了如何安装和使用GNU编译器为C和C ++在基于Fedora的分布。
此外,我们展示了如何使用编译器缓存来加速同一代码的重新编译。 虽然你可以参考在线手册页gcc和g ++进一步的选项和示例,我们期待您的来信,如果您有任何问题或意见。