Ricerca nel sito web

Come installare GNU GCC (compilatore C e C++) e strumenti di sviluppo in RHEL/CentOS e Fedora


Al giorno d'oggi, come amministratore di sistema o ingegnere non puoi sentirti soddisfatto sapendo come utilizzare la CLI e risolvere i problemi dei server GNU/Linux, ma dovrai fare un ulteriore passo avanti anche nell'area di sviluppo per rimanere al top del tuo gioco . Se stai considerando una carriera nello sviluppo del kernel o di applicazioni per Linux, allora C o C++ sono il posto migliore da cui iniziare.

Leggi anche: Installa C, C++ e crea strumenti essenziali in Debian/Ubuntu/Mint

In questo articolo spiegheremo come installare i compilatori Gnu C e C++ e i relativi strumenti di sviluppo come automake, autoconf, flex, bison, ecc. nei sistemi Fedora e CentOS/RHEL.

Cos'è il compilatore?

In parole semplici, un compilatore è un programma software che trasforma le istruzioni scritte in una lingua di origine in una lingua di destinazione che la CPU della macchina può comprendere ed eseguire.

In Fedora e derivate (in realtà questo vale anche per l'intero ecosistema delle distribuzioni Linux), i compilatori C e C++ più conosciuti sono gcc e g++, rispettivamente, entrambi sviluppati e supportati attivamente dalla Free Software Foundation come parte del progetto GNU.

Installazione di GCC (compilatore C++ e strumenti di sviluppo

Se gcc e/o g++ e i relativi Strumenti di sviluppo non sono installati nel tuo sistema per impostazione predefinita, puoi installare l'ultima versione disponibile dai repository come segue:

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

Prima di immergerci nella scrittura di codice C o C++, c'è un altro strumento per potenziare il tuo set di strumenti di sviluppo che vogliamo mostrarti.

Accelerazione delle compilazioni C e C++ in Linux

Quando, come parte del processo di sviluppo, devi ricompilare più volte dopo aver apportato modifiche al codice sorgente, è fantastico avere una cache del compilatore per accelerare le future ricompilazioni.

In Linux esiste un'utilità chiamata ccache, che accelera la ricompilazione memorizzando nella cache le compilazioni precedenti e rilevando quando la stessa compilazione viene eseguita nuovamente. Oltre a C e C++, supporta anche Objective-C e Objective-C++.

Ccache ha solo alcune limitazioni: è utile solo durante la ricompilazione di un singolo file. Per altri tipi di compilazioni, il processo finirà per eseguire il compilatore vero e proprio. La stessa cosa accade se un flag del compilatore non è supportato. Il lato positivo è che in ogni caso non interferirà con la compilazione vera e propria e non genererà errori: basta ricorrere al compilatore vero e proprio.

Installiamo questo strumento:

yum install ccache 

e vedere come funziona con un esempio.

Testare il compilatore GNU C con un semplice programma C++

Ad esempio, utilizziamo un semplice programma C++ che calcola l'area di un rettangolo dopo che la sua lunghezza e larghezza sono state fornite come input.

Apri il tuo editor di testo preferito e inserisci il seguente codice, quindi salva come 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; 
} 

Per compilare il codice precedente in un'area denominata eseguibile nella directory di lavoro corrente, utilizzare l'opzione -o con g++:

g++ area.cpp -o area

Se vuoi sfruttare ccache, basta anteporre al comando precedente ccache, come segue:

ccache g++ area.cpp -o area 

Quindi esegui il binario:

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

Non lasciare che questo semplice esempio ti faccia pensare che ccache non sia utile. Scoprirai quale ottimo strumento è ccache quando ricompili un file di codice sorgente di grandi dimensioni. Lo stesso principio vale anche per i programmi C.

Riepilogo

In questo articolo abbiamo spiegato come installare e utilizzare i compilatori GNU per C e C++ nelle distribuzioni basate su Fedora.

Inoltre, abbiamo mostrato come utilizzare la cache del compilatore per velocizzare la ricompilazione dello stesso codice. Anche se puoi fare riferimento alle pagine man online di gcc e g++ per ulteriori opzioni ed esempi, non vediamo l'ora di sentire la tua opinione in caso di domande o commenti.