Weboldal keresés

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.