A GNU GCC (C és C++ fordító) és a fejlesztőeszközök telepítése RHEL/CentOS és Fedora rendszerben
Manapság rendszergazdaként vagy mérnökként nem lehet elégedett azzal, hogy tudja, hogyan kell használni a CLI-t és el kell végeznie a GNU/Linux szerverek hibaelhárítását, de egy lépéssel tovább kell lépnie a fejlesztési területen is, hogy a játék csúcsán maradjon. . Ha a kernelfejlesztésben vagy Linux-alkalmazásokban gondolkodik, akkor a C vagy a C++ a legjobb kiindulópont.
Olvassa el még: Telepítse a C, C++ és Build Essentials eszközöket a Debian/Ubuntu/Mint alatt
Ebben a cikkben elmagyarázzuk, hogyan kell telepíteni a Gnu C és C++ fordítókat és a kapcsolódó fejlesztőeszközöket, mint például az automake, autoconf, flex, bison stb. Fedora és CentOS/RHEL rendszerekben.
Mi az a Compiler?
Egyszerűen fogalmazva, a fordító egy szoftverprogram, amely a forrásnyelven írt utasításokat olyan célnyelvvé alakítja, amelyet a gép CPU-ja megért és végrehajthat.
A Fedorában és a származékaiban (valójában ez a teljes Linux disztró ökoszisztémára is igaz) a legismertebb C és C++ fordítók a gcc és g++, mindkettőt a Free Software Foundation fejlesztette és támogatta a GNU projekt részeként.
A GCC (C++ fordító és fejlesztőeszközök) telepítése
Ha a gcc és/vagy a g++ és a kapcsolódó Fejlesztői eszközök alapértelmezés szerint nincs telepítve a rendszeren, akkor telepítheti a legfrissebbet a tárolókból. alábbiak szerint:
yum groupinstall 'Development Tools' [on CentOS/RHEL 7/6]
dnf groupinstall 'Development Tools' [on Fedora 22+ Versions]
Mielőtt belemerülnénk a C vagy C++ kód írásába, szeretnénk bemutatni egy másik eszközt a fejlesztői eszközkészlet fejlesztéséhez.
A C és C++ fordítások felgyorsítása Linuxban
Amikor a fejlesztési folyamat részeként többször újra kell fordítania a forráskód módosítását követően, nagyszerű, ha rendelkezik egy fordítói gyorsítótárral, amely felgyorsítja a jövőbeni újrafordításokat.
A Linuxban létezik egy ccache nevű segédprogram, amely felgyorsítja az újrafordítást azáltal, hogy gyorsítótárba helyezi a korábbi fordításokat, és észleli, ha ugyanaz a fordítás történik újra. A C és C++ mellett támogatja az Objective-C és az Objective-C++ billentyűket is.
A Ccache-nek csak néhány korlátozása van: csak egyetlen fájl újrafordítása során hasznos. Más típusú fordítások esetén a folyamat végül a tényleges fordítót futtatja. Ugyanez történik, ha a fordítójelző nem támogatott. A jó oldala az, hogy semmi esetre sem zavarja a tényleges fordítást, és nem okoz hibát – csak térjen vissza az aktuális fordítóhoz.
Telepítsük ezt az eszközt:
yum install ccache
és nézze meg, hogyan működik egy példával.
A GNU C Compiler tesztelése egy egyszerű C++ programmal
Példaként használjunk egy egyszerű C++ programot, amely kiszámítja egy téglalap területét, miután bemenetként megadta a hosszát és szélességét.
Nyissa meg kedvenc szövegszerkesztőjét, írja be a következő kódot, majd mentse el area.cpp
néven:
#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;
}
Ha a fenti kódot az aktuális munkakönyvtárban egy végrehajtható nevű területre szeretné fordítani, használja a -o kapcsolót a g++ billentyűkombinációval:
g++ area.cpp -o area
Ha ki szeretné használni a ccache előnyeit, egyszerűen írja be a fenti parancsot a ccache parancs elé, az alábbiak szerint:
ccache g++ area.cpp -o area
Ezután futtassa a binárist:
./area
Minta kimenet
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25
Ne hagyja, hogy ez az egyszerű példa azt gondolja, hogy a ccache nem hasznos. Egy nagy forráskódfájl újrafordításakor megtudhatja, milyen nagyszerű eszköz a ccache. Ugyanez az elv vonatkozik a C programokra is.
Összegzés
Ebben a cikkben elmagyaráztuk, hogyan kell telepíteni és használni a GNU fordítókat a C és C++ nyelvekhez Fedora-alapú disztribúciókban.
Ezenkívül megmutattuk, hogyan lehet egy fordító gyorsítótárat használni ugyanazon kód újrafordításának felgyorsítására. Noha további lehetőségeket és példákat találhat a gcc és a g++ online kézikönyvoldalain, szívesen várjuk, ha bármilyen kérdése vagy megjegyzése van.