Ricerca nel sito web

Installa il compilatore C, C++ e gli strumenti di sviluppo (build-essential) in Debian/Ubuntu


Alla maggior parte degli amministratori e ingegneri di sistema Linux è richiesto di conoscere alcuni programmi di base che li aiutino nelle loro attività quotidiane. Se vogliono fare un ulteriore passo avanti anche nell'area dello sviluppo (sia come programmatori del kernel che di applicazioni), allora C o C++ è il posto migliore da cui iniziare.

Leggi anche: Installa C, C++ e strumenti di sviluppo in RHEL/CentOS/Fedora

In questo articolo spiegheremo come installare i compilatori C e C++ e i relativi Strumenti di sviluppo (build-essential ) pacchetti correlati come make, libc-dev, dpkg-dev, ecc. in Debian e derivati come Ubuntu e Linux Mint.

Il software build-essential contiene un elenco informativo di software considerati importanti per la creazione di pacchetti Debian, inclusi il compilatore gcc, make e altri strumenti necessari.

Cos'è un compilatore?

In poche parole, un compilatore è un programma software che elabora istruzioni scritte in un linguaggio di programmazione e crea un file binario che la CPU della macchina può comprendere ed eseguire.

Nelle distribuzioni basate su Debian, i compilatori C e C++ più conosciuti sono rispettivamente gcc e g++. Entrambi i programmi sono stati sviluppati e sono tuttora gestiti dalla Free Software Foundation attraverso il progetto GNU.

Installazione del compilatore C, C++ e degli strumenti di sviluppo (build-essential)

Se il tuo sistema non ha il pacchetto build-essential installato per impostazione predefinita, puoi installare l'ultima versione disponibile dai repository di distribuzione predefiniti come segue:

apt-get update && apt-get install build-essential     
OR
sudo apt-get update && sudo apt-get install build-essential

Ora siamo pronti per iniziare a digitare codice C o C++... o quasi. Stiamo per mostrarti ancora un altro strumento per potenziare il tuo set di strumenti di sviluppo.

Accelerazione delle compilazioni C e C++

Quando sai che dovrai compilare un programma, apportare modifiche e quindi ricompilare di nuovo, è fantastico avere uno strumento come ccache, che, come probabilmente indovinerai dal nome, è una cache del compilatore.

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++. Le uniche limitazioni sono:

  1. Supporta solo la memorizzazione nella cache della compilazione di un singolo file C/C++/Objective-C/Objective-C++. Per altri tipi di compilazioni (compilazione multi-file, collegamento, per citare alcuni esempi), il processo finirà per eseguire il vero compilatore.
  2. Alcuni flag del compilatore potrebbero non essere supportati. Se viene rilevato un flag di questo tipo, ccache tornerà silenziosamente all'esecuzione del vero compilatore.

Installiamo questo strumento:

aptitude install ccache

Nella prossima sezione vedremo alcuni esempi di compilazione di codice C e C++ con e senza ccache.

Testare C e C++ con un programma di esempio

Usiamo l'esempio classico di un programma C molto semplice che somma due numeri. Apri il tuo editor di testo preferito e inserisci il seguente codice, quindi salvalo come sum.c:

#include<stdio.h>
int main()
{
   int a, b, c;
   printf("Enter two numbers to add, separated by a space: ");
   scanf("%d%d",&a,&b);
   c = a + b;
   printf("The sum of equals %d\n",c);
   return 0;
}

Per compilare il codice precedente in un eseguibile denominato sum nella directory di lavoro corrente, utilizza l'opzione -o con gcc:

gcc sum.c -o sum

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

ccache gcc sum.c -o sum

Quindi esegui il binario:

./sum

Sebbene questo esempio di base non ci permetta di vedere tutta la potenza di ccache, per programmi più grandi ti renderai presto conto di quanto sia un ottimo strumento. Lo stesso vale anche per i programmi C++.

Riepilogo

In questa guida abbiamo mostrato come installare e utilizzare i compilatori GNU per C e C++ in Debian e derivate. Inoltre, abbiamo spiegato come utilizzare una cache del compilatore per velocizzare le ricompilazioni dello stesso codice. Anche se puoi fare riferimento alle pagine man online di gcc e g++ per ulteriori opzioni ed esempi, non esitare a inviarci una nota utilizzando il modulo sottostante in caso di domande o commenti.