Comment compiler et exécuter un code C/C++ sous Linux ?

Par : TutorialsGrey, le 11 Février 2022

Je suis un nouvel utilisateur de Linux et un étudiant qui avait l'habitude d'écrire des programmes C ou C++ sur MS-Windows. Maintenant, j'utilise Ubuntu Linux. Comment puis-je compiler un programme C ou C++ sur un système d'exploitation Linux en utilisant l'application bash Terminal ?

 

Pour compiler un programme C ou C++ sur n'importe quelle distribution Linux telle que Ubuntu, Red Hat, Fedora, Debian et d'autres distributions Linux, vous devez installer :

  1. Collection de compilateurs GNU C et C++
  2. Outils de développement
  3. Bibliothèques de développement
  4. IDE ou éditeur de texte pour écrire des programmes

 

Étape 1 : Installer le compilateur C/C++ et les outils connexes

Si vous utilisez Fedora, Red Hat, CentOS ou Scientific Linux, utilisez la commande yum suivante pour installer le compilateur GNU c/c++ :

# yum groupinstall 'Development Tools'

Si vous utilisez Debian ou Ubuntu Linux, tapez la commande apt-get suivante pour installer le compilateur GNU c/c++ :

$ sudo apt-get update
$ sudo apt-get install build-essential manpages-dev

 

Étape 2 : Vérifier l'installation

Tapez les commandes suivantes pour afficher le numéro de version et l'emplacement du compilateur sous Linux :

$ whereis gcc
$ which gcc
$ gcc --version

Exemples de résultats :

 

Comment compiler et exécuter un programme C/C++ sous Linux ?

Créez un fichier appelé demo.c en utilisant un éditeur de texte tel que vi, emacs ou Sublime Text :

#include<stdio.h>
/* demo.c:  Mon premier program C sous Linux */
int main(void) {
    printf("Salut ! Ceci est un programme test.\n");
    return 0;
}

 

Comment compiler le programme sous Linux ?

Utilisez l'une des syntaxes suivantes pour compiler le fichier appelé demo.c :

cc nom-fichier-source.c -o nom-fichier-exécutable

OU

gcc nom-fichier-source.c -o nom-fichier-exécutable

OU

### en supposant que le fichier nom-fichier-exécutable.c existe ###
make nom-fichier-exécutable

Dans cet exemple, pour compiler demo.c, entrez :

cc demo.c -o demo

OU

## en supposant que le fichier demo.c existe dans le répertoire courant ###
make demo

S'il n'y a pas d'erreurs dans votre code ou programme C, le compilateur créera avec succès un fichier exécutable appelé demo dans le répertoire actuel, sinon vous devez corriger le code. Pour le vérifier, tapez :

$ ls -l demo*

 

Comment lancer ou exécuter le programme appelé demo sous Linux ?

Il suffit de taper le nom du programme comme suit :

$ ./demo

OU

$ /chemin/vers/demo

Exemple d'exécution :

 

Compilation et exécution d'un programme C++

Créez un programme appelé demo2.C ou demo2.cpp comme suit :

#include "iostream"
// demo2.C - Exemple de programme C++ 
int main(void) {
    std::cout << "Salut! Ceci est un programme C++.\n";
    return 0;
}

Pour compiler ce programme, entrez la commande suivante :

g++ demo2.C -o demo2
## ou utilisez la syntaxe suivante ##
make demo2

Pour exécuter ce programme, tapez :

./demo2

Exemple d'exécution :

 

Comment puis-je générer des informations symboliques pour gdb et des messages d'avertissement ?

La syntaxe est la suivante pour un Compilateur C :

cc -g -Wall fichier.c -o executable

Et la syntaxe est la suivante pour un Compilateur C++ :

g++ -g -Wall fichier.C -o executable

 

Comment générer du code optimisé sur une machine Linux ?

La syntaxe est la suivante pour un Compilateur C :

cc -O fichier.c -o executable

Et la syntaxe est la suivante pour un Compilateur C++ :

g++ -O -Wall fichier.C -o executable

 

Comment compiler un programme C qui utilise des fonctions mathématiques ?

La syntaxe est la suivante lorsque vous avez besoin de passer l'option -lm avec gcc pour faire le lien avec les bibliothèques mathématiques :

cc fichier.c -o executable -lm

 

Comment compiler un programme C++ qui utilise des fonctions graphiques Xlib ?

La syntaxe est la suivante lorsque vous avez besoin de passer l'option -lX11 avec gcc pour faire le lien avec les bibliothèques Xlib :

g++ fichier.C -o executable -lX11

 

Comment compiler un programme avec plusieurs fichiers sources ?

La syntaxe C est la suivante si le code source est dans plusieurs fichiers (comme fichier1.c, fichier2.c, fichier3.c) :

cc fichier1.c fichier2.c fichier3.c -o executable

La syntaxe C++ est la suivante si le code source se trouve dans plusieurs fichiers :

g++ fichier1.C fichier2.C fichier3.C -o nom-du-programme

 

Pour plus d'informations, consultez la documentation gcc Linux et Unix en tapant la commande suivante :

$ man gcc