gcc vs g++ : quelle est la différence ?
Les compilateurs gcc et g++ fonctionnent de manière assez similaire lorsqu'il s'agit de compiler des programmes C sous Linux. Voici en quoi ils sont différents les uns des autres.
Avez-vous déjà pensé à la différence entre GCC et G++ ? Eh bien, si je devais répondre à cette question en une phrase, ce serait "GCC est utilisé pour compiler des programmes C alors que G++ est pour C++".
Mais il y a bien plus à dire, comme la manière dont vous les installez et les utilisez.
Commençons donc par l'introduction de base.
Quelle est la différence entre GCC et G++ ?
Le compilateur GCC est utilisé pour compiler les programmes C, tandis que le compilateur G++ est utilisé pour les programmes C++. Bien que vous puissiez toujours utiliser GCC pour compiler un programme C++ (en l'utilisant au format gcc -xc++ -lstdc++ -shared-libgcc
, g++ fournit une syntaxe plus simple.
En fait, GCC (GNU Compiler Collection) est un super ensemble de différents compilateurs. Il a g++ pour C++ et GNAT pour le langage de programmation Ada.
Bien que gcc soit capable de compiler des programmes C++ à l'aide d'indicateurs spéciaux, vous devez plutôt utiliser g++. Le compilateur g++ est lié par défaut aux bibliothèques C++ standard. GCC peut également le faire, mais pas par défaut.
Voyons maintenant l'installation.
Installation
Étant l'un des outils les plus essentiels pour compiler des programmes C et C++ sous Linux, ils sont tous deux disponibles dans les référentiels de toutes les distributions Linux.
Voici comment l'installer sur différentes distributions Linux :
Pour la base Ubuntu/Debian :
sudo apt install gcc g++
Pour Fedora/RHEL :
sudo dnf instal gcc g++
Pour Arch Linux :
sudo pacman -S gcc
(Arch inclut G++ dans le package GCC lui-même)
Usage
Dans cette section, je vais vous expliquer comment compiler des programmes C et C++ à l'aide de GCC et G++.
Pour rendre ce guide accessible, j'utiliserai le code de programmation C suivant :
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
Et voici le code C++ :
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
Ils doivent tous deux imprimer une simple ligne Hello, World!
.
Compiler et exécuter du code C
Pour compiler un programme C, vous pouvez utiliser gcc ou g++. Si vous souhaitez utiliser gcc, voici la syntaxe que vous devez suivre :
gcc -o my_program my_program.c
Ici,
-o
est utilisé pour spécifier le fichier de sortiemy_program
est l'endroit où vous spécifiez le nom du fichier de sortiemy_program.c
est l'endroit où vous ajoutez le nom du fichier d'entrée
Par exemple, voici comment j'ai compilé mon fichier hello.c
à l'aide du compilateur GCC :
gcc -o hello hello.c
Pour exécuter n'importe quel fichier compilé, ajoutez ./
avant le nom du fichier compilé :
./hello
De même, si vous souhaitez utiliser G++ pour compiler le programme C, utilisez ce qui suit :
g++ -o cpp_program cpp_program.c
Voici comment j'ai compilé et exécuté le même programme hello.c
avec G++ :
L'opérateur &&
est utilisé pour exécuter plusieurs commandes mais le code de compilation sera exécuté en premier, puis l'exécution sera effectuée.
Compiler et exécuter du code C++
Pour compiler du code C++, vous devez utiliser le compilateur G++ de la manière suivante :
g++ -o my_code my_code.cpp
Une fois cela fait, vous pouvez exécuter le code à l'aide du fichier exécutable :
./my_code
Par exemple, voici comment j'ai compilé le fichier hello.cpp
à l'aide du compilateur G++ :
g++ -o hello hello.cpp && ./hello
Suivant : Voici quelques drapeaux importants du CCG
Si vous débutez tout juste avec la programmation C, vous êtes sur le point d'utiliser beaucoup GCC, mais il existe plusieurs indicateurs que vous pouvez utiliser lors de la compilation du code.
Et voici un guide détaillé sur les drapeaux importants du CCG :
J'espère que vous trouverez ce guide utile.