Com instal·lar GNU GCC (compilador C i C++) i eines de desenvolupament a RHEL/CentOS i Fedora


Avui en dia, com a administrador de sistemes o enginyer no et pots sentir satisfet de saber com utilitzar la CLI i resoldre problemes amb els servidors GNU/Linux, però també hauràs de fer un pas més en l'àrea de desenvolupament per mantenir-te al capdavant del teu joc. . Si esteu considerant una carrera en el desenvolupament del nucli o aplicacions per a Linux, aleshores C o C++ és el millor lloc per començar.

Llegiu també: instal·leu C, C++ i creeu eines essencials a Debian/Ubuntu/Mint

En aquest article explicarem com instal·lar compiladors Gnu C i C++ i les seves eines de desenvolupament relacionades com ara automake, autoconf, flex, bison, etc. als sistemes Fedora i CentOS/RHEL.

Què és el compilador?

En paraules senzilles, un compilador és un programa de programari que transforma declaracions escrites en un llenguatge font en un llenguatge de destinació que la CPU de la màquina pot entendre i executar.

A Fedora i els derivats (de fet, això també és cert per a tot l'ecosistema de distribució de Linux), els compiladors C i C++ més coneguts són gcc i g++, respectivament, tots dos desenvolupats i recolzats activament per la Free Software Foundation com a part de la Projecte GNU.

Instal·lació de GCC (Compilador C++ i eines de desenvolupament

Si gcc i/o g++ i les eines de desenvolupament relacionades no estan instal·lats al vostre sistema de manera predeterminada, podeu instal·lar l'últim disponible des dels dipòsits de la següent manera:

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

Abans de submergir-nos a escriure codi C o C++, hi ha una altra eina per millorar el vostre conjunt d'eines de desenvolupament que us volem mostrar.

Acceleració de les compilacions C i C++ a Linux

Quan com a part del procés de desenvolupament, heu de recompilar diverses vegades després de fer canvis al codi font, és fantàstic tenir una memòria cau del compilador per accelerar futures recompilacions.

A Linux, hi ha una utilitat anomenada ccache, que 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++.

Ccache només té unes quantes limitacions: només és útil mentre recompileu un sol fitxer. Per a altres tipus de compilacions, el procés acabarà executant el compilador real. El mateix passa si no s'admet un indicador del compilador. El costat positiu és que, en qualsevol cas, no interferirà amb la compilació real i no generarà cap error, només cal tornar al compilador real.

Instal·lem aquesta eina:

# yum install ccache 

i veure com funciona amb un exemple.

Prova el compilador GNU C amb un programa C++ senzill

Com a exemple, utilitzem un programa C++ senzill que calcula l'àrea d'un rectangle després d'haver proporcionat la seva longitud i amplada com a entrades.

Obriu el vostre editor de text preferit i introduïu el codi següent i deseu-lo com a 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 compilar el codi anterior en una àrea anomenada executable al directori de treball actual, utilitzeu l'interruptor -o amb g++:

# g++ area.cpp -o area

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

# ccache g++ area.cpp -o area 

A continuació, executeu el binari:

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

No deixeu que aquest exemple senzill us faci pensar que ccache no és útil. Sabreu quina gran eina és ccache quan recompileu un fitxer de codi font gran. El mateix principi s'aplica també als programes C.

Resum

En aquest article hem explicat com instal·lar i utilitzar els compiladors GNU per a C i C++ en distribucions basades en Fedora.

A més, vam mostrar 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, esperem rebre notícies vostres si teniu cap pregunta o comentari.