Hvordan installere GNU GCC (C og C++ kompilator) og utviklingsverktøy i RHEL/CentOS og Fedora
I dag kan du som systemadministrator eller ingeniør ikke føle deg fornøyd med å vite hvordan du bruker CLI og feilsøker GNU/Linux-servere, men du må gå et skritt videre inn i utviklingsområdet også for å holde deg på toppen av spillet ditt. . Hvis du vurderer en karriere innen kjerneutvikling eller applikasjoner for Linux, er C eller C++ det beste stedet å starte.
Les også: Installer C, C++ og bygg essensielle verktøy i Debian/Ubuntu/Mint
I denne artikkelen vil vi forklare hvordan du installerer Gnu C og C++ kompilatorer og dets relaterte utviklingsverktøy som automake, autoconf, flex, bison, etc. i Fedora og CentOS/RHEL-systemer.
Hva er kompilator?
Med enkle ord er en kompilator et program som transformerer utsagn skrevet på et kildespråk til et målspråk som maskinens CPU kan forstå og utføre.
I Fedora og derivater (faktisk, det er sant for hele Linux distro-økosystemet også), er de mest kjente C- og C++-kompilatorene gcc henholdsvis og g++, begge utviklet og støttet aktivt av Free Software Foundation som en del av GNU-prosjektet.
Installere GCC (C++ kompilator og utviklingsverktøy
Hvis gcc og/eller g++ og det relaterte Utviklingsverktøy ikke er installert i systemet ditt som standard, kan du installere det siste som er tilgjengelig fra repositoriene følgende:
yum groupinstall 'Development Tools' [on CentOS/RHEL 7/6]
dnf groupinstall 'Development Tools' [on Fedora 22+ Versions]
Før vi dykker ned i å skrive C- eller C++-kode, er det et annet verktøy for å øke utviklingsverktøysettet ditt som vi ønsker å vise deg.
Fremskynde C- og C++-samlinger i Linux
Når du som en del av utviklingsprosessen må rekompilere flere ganger etter å ha gjort endringer i kildekoden, er det flott å ha en kompilatorbuffer for å fremskynde fremtidige rekompileringer.
I Linux er det et verktøy kalt ccache, som øker hastigheten på rekompilering ved å bufre tidligere kompileringer og oppdage når den samme kompileringen gjøres igjen. I tillegg til C og C++, støtter den også Objective-C og Objective-C++.
Ccache har bare noen få begrensninger: den er bare nyttig når du rekompilerer en enkelt fil. For andre typer kompilasjoner vil prosessen ende opp med å kjøre selve kompilatoren. Det samme skjer hvis et kompilatorflagg ikke støttes. Den lyse siden er at den i alle fall ikke vil forstyrre den faktiske kompileringen og ikke gi feil – bare fall tilbake til den faktiske kompilatoren.
La oss installere dette verktøyet:
yum install ccache
og se hvordan det fungerer med et eksempel.
Tester GNU C-kompileren med et enkelt C++-program
Som et eksempel, la oss bruke et enkelt C++-program som beregner arealet til et rektangel etter at lengden og bredden er gitt som input.
Åpne favoritttekstredigeringsprogrammet og skriv inn følgende kode, og lagre deretter som 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;
}
For å kompilere koden ovenfor til et kjørbart navngitt område i gjeldende arbeidskatalog, bruk -o-bryteren med g++:
g++ area.cpp -o area
Hvis du vil dra nytte av ccache, setter du bare ccache foran kommandoen ovenfor, som følger:
ccache g++ area.cpp -o area
Kjør deretter binæren:
./area
Eksempelutgang
Enter the length of the rectangle: 2.5
Now enter the width: 3.7
The area of the rectangle is: 9.25
Ikke la dette enkle eksemplet få deg til å tro at ccache ikke er nyttig. Du vil finne ut hva et flott verktøy ccache er når du rekompilerer en stor kildekodefil. Det samme prinsippet gjelder også for C-programmer.
Sammendrag
I denne artikkelen har vi forklart hvordan du installerer og bruker GNU-kompilatorene for C og C++ i Fedora-baserte distribusjoner.
I tillegg viste vi hvordan man bruker en kompilatorbuffer for å øke hastigheten på rekompilering av samme kode. Selv om du kan se de elektroniske man-sidene for gcc og g++ for flere alternativer og eksempler, ser vi frem til å høre fra deg hvis du har spørsmål eller kommentarer.