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:
- 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.
- É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.