Sådan installeres GNU GCC (C og C ++ Compiler) og udviklingsværktøjer i RHEL/CentOS og Fedora


I dag kan du som systemadministrator eller ingeniør ikke føle dig tilfreds ved at vide, hvordan du bruger CLI og fejlfinding af GNU/Linux-servere, men du skal også gå et skridt videre ind i udviklingsområdet for at forblive øverst i dit spil . Hvis du overvejer en karriere inden for kerneudvikling eller applikationer til Linux, er C eller C ++ det bedste sted at starte.

Læs også: Installer C, C ++ og opbyg essentielle værktøjer i Debian/Ubuntu/Mint

I denne artikel vil vi forklare, hvordan du installerer Gnu C- og C ++ -compilere, og det er relaterede udviklingsværktøjer som automake, autoconf, flex, bison osv. I Fedora- og CentOS/RHEL-systemer.

Hvad er Compiler?

Med enkle ord er en compiler et softwareprogram, der omdanner udsagn skrevet på et kildesprog til et målsprog, som maskinens CPU kan forstå og udføre.

I Fedora og derivater (faktisk gælder det også for hele Linux distro-økosystemet) er de mest kendte C- og C ++ -compilere henholdsvis gcc og g ++, begge udviklet og understøttet aktivt af Free Software Foundation som en del af GNU-projekt.

Installation af GCC (C ++ Compiler og udviklingsværktøjer

Hvis gcc og/eller g ++ og dets relaterede udviklingsværktøjer ikke er installeret i dit system som standard, kan du installere det seneste tilgængelige fra arkiverne som følger:

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

Før vi dykker ned i at skrive C- eller C ++ -kode, er der et andet værktøj til at øge dit udviklingsværktøjssæt, som vi vil vise dig.

Fremskynde C- og C ++ - kompileringer i Linux

Når du som en del af udviklingsprocessen skal kompilere flere gange efter at have foretaget ændringer i kildekoden, er det dejligt at have en compiler-cache for at fremskynde fremtidige rekompileringer.

I Linux er der et værktøj kaldet ccache, som fremskynder rekompilering ved at cache tidligere kompileringer og registrere, hvornår den samme kompilering udføres igen. Udover C og C ++ understøtter den også Objective-C og Objective-C ++.

Ccache har kun få begrænsninger: det er kun nyttigt, når du kompilerer en enkelt fil igen. For andre typer kompileringer kører processen med at køre den faktiske compiler. Den samme ting sker, hvis et compiler-flag ikke understøttes. Den lyse side er, at det under alle omstændigheder ikke forstyrrer den faktiske kompilering og ikke vil kaste en fejl - bare fald tilbage til den faktiske kompilator.

Lad os installere dette værktøj:

# yum install ccache 

og se hvordan det fungerer med et eksempel.

Test af GNU C Compiler med et simpelt C ++ - program

Lad os som et eksempel bruge et simpelt C ++ - program, der beregner arealet af et rektangel, efter at dets længde og bredde er leveret som input.

Åbn din foretrukne teksteditor, og indtast følgende kode, og gem derefter 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 at kompilere ovenstående kode i et eksekverbart navngivet område i den aktuelle arbejdsmappe skal du bruge -o-kontakten med g ++:

# g++ area.cpp -o area

Hvis du vil drage fordel af ccache, skal du blot tilføje ovenstående kommando med ccache som følger:

# ccache g++ area.cpp -o area 

Kør derefter binærprogrammet:

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

Lad ikke dette enkle eksempel få dig til at tro, at ccache ikke er nyttigt. Du vil vide, hvad et fantastisk værktøj ccache er, når du kompilerer en større kildekodefil. Det samme princip gælder også for C-programmer.

Resumé

I denne artikel har vi forklaret, hvordan man installerer og bruger GNU-compilers til C og C ++ i Fedora-baserede distributioner.

Derudover viste vi, hvordan man bruger en compiler-cache til at fremskynde rekompileringer af den samme kode. Mens du kan henvise til de online mandsider for gcc og g ++ for yderligere muligheder og eksempler, ser vi frem til at høre fra dig, hvis du har spørgsmål eller kommentarer.