Kuinka asentaa GNU GCC (C and C ++ Compiler) ja kehitystyökalut RHEL/CentOS: iin ja Fedoraan


Nykyään järjestelmänvalvojana tai insinöörinä et voi tuntea olosi tyytyväiseksi tietäen kuinka käyttää CLI: tä ja vianmäärittää GNU/Linux-palvelimia, mutta sinun on mentävä vielä askeleen pidemmälle kehitysalueelle pysyäkseen pelisi kärjessä. . Jos harkitset uraa ytimen kehittämisessä tai Linux-sovelluksissa, C tai C ++ on paras paikka aloittaa.

Lue myös: Asenna C, C ++ ja rakenna välttämättömät työkalut Debianiin/Ubuntuun/Mintiin

Tässä artikkelissa kerrotaan, miten Gnu C- ja C ++-kääntäjät ja niihin liittyvät kehitystyökalut, kuten automake, autoconf, flex, bison jne. Asennetaan Fedora- ja CentOS/RHEL-järjestelmiin.

Mikä on kääntäjä?

Yksinkertaisesti sanottuna kääntäjä on ohjelmisto, joka muuntaa lähdekielellä kirjoitetut lauseet kohdekieleksi, jonka koneen keskusyksikkö voi ymmärtää ja suorittaa.

Fedorassa ja johdannaisissa (itse asiassa tämä pätee myös koko Linux-distroekosysteemiin) tunnetuimmat C- ja C ++-kääntäjät ovat vastaavasti gcc ja g ++, joita sekä Free Software Foundation -sovellus on kehittänyt ja tukenut aktiivisesti. GNU-projekti.

GCC: n (C ++ kääntäjä ja kehitystyökalut) asentaminen

Jos gcc: tä ja/tai g ++: ta ja siihen liittyviä kehitystyökaluja ei ole asennettu oletuksena järjestelmään, voit asentaa uusimman saatavilla olevan arkiston seuraavasti:

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

Ennen kuin sukellamme C- tai C ++ -koodin kirjoittamiseen, kehitystyökalupakettisi parantamiseksi on toinen työkalu, jonka haluamme näyttää sinulle.

Nopeuttaa C- ja C ++ -kokoelmia Linuxissa

Kun osa kehitysprosessia on käännettävä uudelleen useita kertoja lähdekoodiin tehtyjen muutosten jälkeen, on hienoa, että sinulla on kääntäjän välimuisti, joka nopeuttaa tulevia uudelleenkompilointeja.

Linuxissa on apuohjelma nimeltään ccache, joka nopeuttaa uudelleenkääntämistä tallentamalla välimuistiin aiemmat kokoelmat ja havaitsemalla, milloin samaa käännöstä tehdään uudelleen. C: n ja C ++: n lisäksi se tukee myös tavoite C: tä ja Objective C ++: ta.

Välimuistilla on vain muutama rajoitus: se on hyödyllinen vain yhden tiedoston uudelleen kääntämisen aikana. Muun tyyppisissä kokoelmissa prosessi johtaa todellisen kääntäjän suorittamista. Sama tapahtuu, jos kääntäjän lippua ei tueta. Kirkas puoli on, että se ei missään tapauksessa häiritse varsinaista kokoamista eikä aiheuta virhettä - palaa vain todelliseen kääntäjään.

Asennetaan tämä työkalu:

# yum install ccache 

ja katso miten se toimii esimerkin avulla.

GNU C-kääntäjän testaaminen yksinkertaisella C ++ -ohjelmalla

Käytetään esimerkkinä yksinkertaista C ++ -ohjelmaa, joka laskee suorakulmion pinta-alan sen jälkeen, kun sen pituus ja leveys on annettu syötteinä.

Avaa suosikki tekstieditori ja kirjoita seuraava koodi ja tallenna sitten nimellä 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; 
} 

Jos haluat kääntää yllä olevan koodin suoritettavaksi nimettyyn alueeseen nykyisessä työkatalogissa, käytä -o-kytkintä g ++: lla:

# g++ area.cpp -o area

Jos haluat hyödyntää ccachea, edistä vain yllä oleva komento ccache: llä seuraavasti:

# ccache g++ area.cpp -o area 

Suorita sitten binääri:

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

Älä anna tämän yksinkertaisen esimerkin ajattella, että ccache ei ole hyödyllinen. Opit tuntemaan, mikä hieno työkalu ccache on käännettäessä suurta lähdekooditiedostoa. Sama periaate pätee myös C-ohjelmiin.

Yhteenveto

Tässä artikkelissa olemme selittäneet, kuinka GNU-kääntäjät asennetaan ja käytetään C: lle ja C ++: lle Fedora-pohjaisissa jakeluissa.

Lisäksi osoitimme, kuinka kääntäjän välimuistia voidaan käyttää saman koodin uudelleen kääntämisen nopeuttamiseen. Vaikka voit katsoa gcc: n ja g ++: n online-man-sivuilta lisää vaihtoehtoja ja esimerkkejä, odotamme kuulevamme sinulta, jos sinulla on kysyttävää tai kommentteja.