Recherche de site Web

Comment installer GNU GCC (compilateur C et C++) et les outils de développement dans RHEL/CentOS et Fedora


De nos jours, en tant qu'administrateur système ou ingénieur, vous ne pouvez pas vous sentir satisfait de savoir comment utiliser la CLI et dépanner les serveurs GNU/Linux, mais vous devrez également aller plus loin dans le domaine du développement pour rester au sommet de votre jeu. . Si vous envisagez une carrière dans le développement de noyaux ou d'applications pour Linux, alors C ou C++ est le meilleur point de départ.

Lire aussi : Installer C, C++ et créer les outils essentiels dans Debian/Ubuntu/Mint

Dans cet article, nous expliquerons comment installer les compilateurs Gnu C et C++ et les outils de développement associés tels que automake, autoconf, flex, bison, etc. dans les systèmes Fedora et CentOS/RHEL.

Qu’est-ce que le compilateur ?

En termes simples, un compilateur est un logiciel qui transforme les instructions écrites dans un langage source en un langage cible que le processeur de la machine peut comprendre et exécuter.

Dans Fedora et ses dérivés (en fait, cela est également vrai pour l'ensemble de l'écosystème de distribution Linux), les compilateurs C et C++ les plus connus sont gcc et g++, respectivement, tous deux développés et soutenus activement par la Free Software Foundation dans le cadre du projet GNU.

Installation de GCC (compilateur C++ et outils de développement

Si gcc et/ou g++ et les outils de développement associés ne sont pas installés par défaut sur votre système, vous pouvez installer la dernière version disponible dans les référentiels. comme suit:

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

Avant de nous lancer dans l'écriture de code C ou C++, il existe un autre outil pour améliorer votre ensemble d'outils de développement que nous souhaitons vous montrer.

Accélérer les compilations C et C++ sous Linux

Lorsque, dans le cadre du processus de développement, vous devez recompiler plusieurs fois après avoir apporté des modifications au code source, il est formidable de disposer d'un cache du compilateur pour accélérer les recompilations futures.

Sous Linux, il existe un utilitaire appelé ccache, qui accélère la recompilation en mettant en cache les compilations précédentes et en détectant quand la même compilation est refaite. Outre le C et le C++, il prend également en charge Objective-C et Objective-C++.

Ccache n'a que quelques limitations : il n'est utile que lors de la recompilation d'un seul fichier. Pour les autres types de compilations, le processus finira par exécuter le compilateur lui-même. La même chose se produit si un indicateur du compilateur n'est pas pris en charge. Le bon côté est que dans tous les cas, cela n’interférera pas avec la compilation réelle et ne générera pas d’erreur – revenez simplement au compilateur réel.

Installons cet outil :

yum install ccache 

et voyez comment cela fonctionne avec un exemple.

Tester le compilateur GNU C avec un simple programme C++

À titre d'exemple, utilisons un simple programme C++ qui calcule l'aire d'un rectangle après que sa longueur et sa largeur ont été fournies en entrées.

Ouvrez votre éditeur de texte préféré et saisissez le code suivant, puis enregistrez-le sous 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; 
} 

Pour compiler le code ci-dessus dans une zone nommée exécutable dans le répertoire de travail actuel, utilisez le commutateur -o avec g++ :

g++ area.cpp -o area

Si vous souhaitez profiter de ccache, ajoutez simplement ccache à la commande ci-dessus, comme suit :

ccache g++ area.cpp -o area 

Ensuite, lancez le binaire :

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

Ne laissez pas cet exemple simple vous faire penser que ccache n'est pas utile. Vous découvrirez à quel point ccache est un excellent outil lors de la recompilation d'un gros fichier de code source. Le même principe s'applique également aux programmes C.

Résumé

Dans cet article, nous avons expliqué comment installer et utiliser les compilateurs GNU pour C et C++ dans les distributions basées sur Fedora.

De plus, nous avons montré comment utiliser un cache de compilateur pour accélérer les recompilations du même code. Bien que vous puissiez vous référer aux pages de manuel en ligne de gcc et g++ pour d'autres options et exemples, nous sommes impatients de vous entendre si vous avez des questions ou des commentaires.