Hvernig á að setja upp GNU GCC (C og C++ þýðanda) og þróunarverkfæri í RHEL/CentOS og Fedora


Nú á dögum, sem kerfisstjóri eða verkfræðingur geturðu ekki verið ánægður með að vita hvernig á að nota CLI og bilanaleita GNU/Linux netþjóna, en þú þarft líka að fara einu skrefi lengra inn á þróunarsvæðið til að vera á toppnum í leiknum. . Ef þú ert að íhuga feril í kjarnaþróun eða forritum fyrir Linux, þá er C eða C++ besti staðurinn til að byrja.

Lestu líka: Settu upp C, C++ og smíðaðu nauðsynleg verkfæri í Debian/Ubuntu/Mint

Í þessari grein munum við útskýra hvernig á að setja upp Gnu C og C++ þýðendur og tengd þróunarverkfæri eins og automake, autoconf, flex, bison osfrv. í Fedora og CentOS/RHEL kerfum.

Hvað er þýðandi?

Í einföldum orðum er þýðandi hugbúnaður sem umbreytir yfirlýsingum sem skrifaðar eru á frummáli í markmál sem örgjörvi vélarinnar getur skilið og framkvæmt.

Í Fedora og afleiðum (reyndar er það satt fyrir allt Linux dreifingarvistkerfið líka), eru þekktustu C og C++ þýðendurnir gcc og g++, í sömu röð, bæði þróaðir og studdir af Free Software Foundation sem hluti af GNU verkefni.

Að setja upp GCC (C++ þýðanda og þróunarverkfæri

Ef gcc og/eða g++ og tengd þróunarverkfæri eru ekki sjálfgefið uppsett í kerfinu þínu geturðu sett upp það nýjasta sem til er úr geymslunum á eftirfarandi hátt:

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

Áður en við köfum í að skrifa C eða C++ kóða er annað tól til að efla þróunarverkfærasettið þitt sem við viljum sýna þér.

Flýtir fyrir C og C++ samantektum í Linux

Þegar þú, sem hluti af þróunarferlinu, þarft að endursafna nokkrum sinnum eftir að hafa gert breytingar á frumkóðanum er frábært að hafa þýðanda skyndiminni til að flýta fyrir endursamsetningu í framtíðinni.

Í Linux er tól sem kallast ccache, sem flýtir fyrir endursamsetningu með því að vista fyrri söfnun í skyndiminni og greina hvenær sama söfnun er gerð aftur. Fyrir utan C og C++ styður það einnig Objective-C og Objective-C++.

Ccache hefur aðeins nokkrar takmarkanir: það er aðeins gagnlegt þegar þú endursamlar eina skrá. Fyrir aðrar gerðir af samantektum mun ferlið endar með því að keyra raunverulegan þýðanda. Það sama gerist ef þýðandafáni er ekki studdur. Björtu hliðin er sú að í öllum tilvikum mun það ekki trufla raunverulega söfnunina og mun ekki henda villu - farðu bara aftur í raunverulegan þýðanda.

Við skulum setja upp þetta tól:

# yum install ccache 

og sjáðu hvernig það virkar með dæmi.

Prófar GNU C þýðanda með einföldu C++ forriti

Sem dæmi skulum við nota einfalt C++ forrit sem reiknar flatarmál rétthyrnings eftir að lengd hans og breidd hafa verið veitt sem inntak.

Opnaðu uppáhalds textaritilinn þinn og sláðu inn eftirfarandi kóða, vistaðu síðan sem 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; 
} 

Til að setja saman ofangreindan kóða í keyrslu sem heitir svæði í núverandi vinnumöppu notaðu -o rofann með g++:

# g++ area.cpp -o area

Ef þú vilt nýta þér ccache skaltu bara setja ofangreinda skipun fyrir með ccache, eins og hér segir:

# ccache g++ area.cpp -o area 

Keyrðu síðan tvöfaldann:

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

Ekki láta þetta einfalda dæmi láta þig halda að ccache sé ekki gagnlegt. Þú munt komast að því hvað ccache er frábært verkfæri þegar þú endursamlar stóra frumkóðaskrá. Sama regla á einnig við um C forrit.

Samantekt

Í þessari grein höfum við útskýrt hvernig á að setja upp og nota GNU þýðendurna fyrir C og C++ í dreifingum sem byggja á Fedora.

Að auki sýndum við hvernig á að nota skyndiminni þýðanda til að flýta fyrir endursamsetningu á sama kóða. Þó að þú getir vísað á netmannasíðurnar fyrir gcc og g++ fyrir frekari valkosti og dæmi, hlökkum við til að heyra frá þér ef þú hefur einhverjar spurningar eða athugasemdir.