Kako namestiti GNU GCC (prevajalnik za C in C ++) in razvojna orodja v RHEL/CentOS in Fedora


Danes se kot sistemski skrbnik ali inženir ne morete počutiti zadovoljni, ker veste, kako uporabljati CLI in odpravljati težave s strežniki GNU/Linux, ampak boste morali iti še korak dlje v razvojno področje, da boste ostali na vrhu igre . Če razmišljate o karieri na področju razvoja jedra ali aplikacij za Linux, je C ali C ++ najboljše mesto za začetek.

Preberite tudi: Namestite C, C ++ in zgradite osnovna orodja v Debian/Ubuntu/Mint

V tem članku bomo razložili, kako namestiti prevajalnike Gnu C in C ++ ter z njimi povezana razvojna orodja, kot so automake, autoconf, flex, bison itd., V sistemih Fedora in CentOS/RHEL.

Kaj je Compiler?

Z enostavnimi besedami je prevajalnik program, ki pretvori stavke, napisane v izvornem jeziku, v ciljni jezik, ki ga CPU stroja lahko razume in izvede.

V Fedori in izpeljanih finančnih instrumentih (pravzaprav to velja tudi za celoten distribucijski ekosistem Linuxa) sta najbolj znana prevajalnika za C in C ++ gcc oziroma g ++, ki ju je Fundacija za prosto programsko opremo razvila in podpirala aktivno kot del Projekt GNU.

Namestitev GCC (prevajalnik in razvojna orodja C ++

Če gcc in/ali g ++ in z njim povezana orodja za razvoj niso privzeto nameščeni v vašem sistemu, lahko namestite najnovejše, ki so na voljo v repozitorijih, kot sledi:

# yum groupinstall 'Development Tools'		[on CentOS/RHEL 7/6]
# dnf groupinstall 'Development Tools'		[on Fedora 22+ Versions]

Preden se poglobimo v pisanje kode C ali C ++, vam želimo pokazati še eno orodje za pospeševanje nabora razvojnih orodij.

Pospeševanje kompilacij C in C ++ v Linuxu

Ko ste kot del razvojnega procesa, morate po spremembah izvorne kode večkrat prevesti, je super imeti predpomnilnik prevajalnika, da pospešite prihodnje ponovne prevode.

V Linuxu obstaja pripomoček, imenovan ccache, ki pospeši ponovno prevajanje s predpomnjenjem prejšnjih kompilacij in zaznavanjem, kdaj se ista kompilacija ponovi. Poleg C in C ++ podpira tudi Objective-C in Objective-C ++.

Ccache ima le nekaj omejitev: uporaben je le pri ponovnem prevajanju ene datoteke. Pri drugih vrstah kompilacij bo postopek na koncu izvajal dejanski prevajalnik. Enako se zgodi, če zastavica prevajalnika ni podprta. Svetla stran je, da v nobenem primeru ne bo motil dejanskega prevajanja in ne bo povzročil napake - samo vrnite se k dejanskemu prevajalniku.

Namestimo to orodje:

# yum install ccache 

in si oglejte, kako to deluje na primeru.

Testiranje prevajalnika GNU C s preprostim programom C ++

Kot primer uporabimo preprost program C ++, ki izračuna površino pravokotnika, potem ko sta njegova dolžina in širina podani kot vhodni podatki.

Odprite svoj najljubši urejevalnik besedil in vnesite naslednjo kodo, nato pa shranite kot 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; 
} 

Za prevajanje zgornje kode v izvršljivo imenovano področje v trenutnem delovnem imeniku uporabite stikalo -o z g ++:

# g++ area.cpp -o area

Če želite izkoristiti ccache, zgoraj dodajte zgornji ukaz ccache, kot sledi:

# ccache g++ area.cpp -o area 

Nato zaženite binarno datoteko:

./area
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25

Naj vam ta preprost primer ne da misliti, da predpomnilnik ni koristen. Spoznali boste, kako dober je caca orodje pri prevajanju velike datoteke z izvorno kodo. Isto načelo velja tudi za programe C.

Povzetek

V tem članku smo razložili, kako namestiti in uporabljati prevajalnike GNU za C in C ++ v distribucijah, ki temeljijo na Fedori.

Poleg tega smo pokazali, kako uporabiti predpomnilnik prevajalnika za pospešitev ponovnega prevajanja iste kode. Čeprav se lahko za nadaljnje možnosti in primere obrnete na spletne strani z navodili za gcc in g ++, se veselimo vašega vprašanja, če imate kakršna koli vprašanja ali komentarje.