Instal·leu les eines de desenvolupament i compilació C, C++ (essencials per a la construcció) a Debian/Ubuntu


La majoria dels administradors i enginyers de sistemes Linux han de conèixer una mica de programació bàsica per ajudar-los en les seves tasques diàries. Si també volen fer un pas més en l'àrea de desenvolupament (ja sigui com a programadors del nucli o d'aplicacions), aleshores C o C++ és el millor lloc per començar.

Llegiu també: instal·leu C, C++ i eines de desenvolupament a RHEL/CentOS/Fedora

En aquest article, explicarem com instal·lar compiladors C i C++ i els seus paquets relacionats amb les eines de desenvolupament (build-essential) com ara make, libc-dev, dpkg-dev, etc. a Debian i derivats com Ubuntu i Linux Mint.

El programari build-essential conté una llista informativa de programari que es consideren importants per a la creació de paquets Debian, inclosos el compilador gcc, el make i altres eines necessàries.

Què és un compilador?

En poques paraules, un compilador és un programa de programari que processa instruccions escrites en un llenguatge de programació i crea un fitxer binari que la CPU de la màquina pot entendre i executar.

A les distribucions basades en Debian, els compiladors C i C++ més coneguts són gcc i g++, respectivament. Tots dos programes van ser desenvolupats i encara es mantenen per la Free Software Foundation a través del projecte GNU.

Instal·lació d'eines de desenvolupament i compilador C, C++ (essencial per a la construcció)

Si el vostre sistema no té el paquet build-essential instal·lat al vostre sistema de manera predeterminada, podeu instal·lar la darrera versió disponible des dels dipòsits de distribució per defecte de la següent manera:

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

Ara estem preparats per començar a escriure codi C o C++... o gairebé. Estem a punt de mostrar-vos una altra eina per millorar el vostre conjunt d'eines de desenvolupament.

Acceleració de les compilacions C i C++

Quan sabeu que haureu de compilar un programa, fer canvis i tornar-lo a compilar, és fantàstic tenir una eina com ccache, que com probablement endevinareu segons el seu nom, és una memòria cau del compilador.

Accelera la recompilació posant en memòria cau les compilacions anteriors i detectant quan es torna a fer la mateixa compilació. A més de C i C++, també admet Objective-C i Objective-C++. Les úniques limitacions són:

  1. Només admet la memòria cau de la compilació d'un sol fitxer C/C++/Objective-C/Objective-C++. Per a altres tipus de compilacions (compilació de diversos fitxers, enllaços, per citar alguns exemples), el procés acabarà executant el compilador real.
  2. És possible que alguns indicadors del compilador no siguin compatibles. Si es detecta aquest senyal, ccache tornarà a executar el compilador real en silenci.

Instal·lem aquesta eina:

# aptitude install ccache

A la següent secció, veurem alguns exemples de compilació de codi C i C++ amb i sense ccache.

Prova C i C++ amb un programa de mostra

Utilitzem l'exemple clàssic d'un programa C molt bàsic que afegeix dos nombres. Obriu el vostre editor de text preferit i introduïu el codi següent i deseu-lo com a 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 compilar el codi anterior en un executable anomenat suma al directori de treball actual, utilitzeu el commutador -o amb gcc:

# gcc sum.c -o sum

Si voleu aprofitar el ccache, només heu d'afegir l'ordre anterior amb ccache, de la manera següent:

# ccache gcc sum.c -o sum

A continuació, executeu el binari:

# ./sum

Tot i que aquest exemple bàsic no ens permet veure tota la potència de ccache, per a programes més grans us adonareu ràpidament de la gran eina que és. El mateix s'aplica als programes C++.

Resum

En aquesta guia, hem mostrat com instal·lar i utilitzar els compiladors GNU per a C i C++ a Debian i derivats. A més, vam explicar com utilitzar una memòria cau del compilador per accelerar les recompilacions del mateix codi. Tot i que podeu consultar les pàgines de manual en línia de gcc i g++ per obtenir més opcions i exemples, no dubteu a enviar-nos una nota mitjançant el formulari següent si teniu cap pregunta o comentari.