logo

Compiler avec g++

g++ La commande est une commande d'appel du compilateur GNU C++, utilisée pour le prétraitement, la compilation, l'assemblage et la liaison du code source afin de générer un fichier exécutable. Les différentes options de la commande g++ nous permettent d'arrêter ce processus au stade intermédiaire.

  • Vérifiez les informations sur la version du compilateur G++ :
g++ --version>


  • Compilez un fichier CPP pour générer un fichier cible exécutable : g++ nom_fichier la commande est utilisée pour compiler et créer un fichier exécutable a.out (nom de la cible par défaut).
    Exemple: Étant donné un programme simple pour imprimer Hello Geek sur une sortie standard avec le nom de fichier bonjour.cpp
RPC
// hello.cpp file #include  int main() {  std::cout << 'Hello Geek
';  return 0; }>




g++ hello.cpp>



Ceci compile et relie bonjour.cpp pour produire un fichier exécutable cible par défaut a.out dans le répertoire de travail actuel. Pour exécuter ce programme, tapez ./a.out ./ représente le répertoire de travail actuel et a.out est le fichier cible exécutable.

./a.out>


  • g++ -S nom_fichier est utilisé uniquement pour compiler le nom de fichier et pas assemblage ou liaison. Cela générera un nom_fichier.s fichier source de l’assembly.
    Exemple:
g++ -S hello.cpp>


com-seulement


  • g++ -c nom_fichier est utilisé uniquement pour compiler et assembler le nom de fichier et pas lier le code objet pour produire un fichier exécutable. Cela générera un nom_fichier.o fichier de code objet dans le répertoire de travail actuel.
    Exemple:
g++ -c hello.cpp>


simple-c


  • g++ -o nom_cible nom_fichier : Compilations et liens nom de fichier et génère un fichier cible exécutable avec nom_cible (ou a.out par défaut).
    Exemple:
g++ -o main.exe hello.cpp>


  • Compilez et liez plusieurs fichiers : Quand -c L'indicateur -o est utilisé, il invoque l'étape du compilateur qui traduit le code source en code objet. Lorsque l'indicateur -o est utilisé, il lie le code objet pour créer le fichier exécutable à partir de nom_fichier.o à a.out (par défaut) , plusieurs fichiers peuvent être transmis ensemble comme arguments.
    Exemple:
RPC
// hello.cpp file #include 'helloWorld.h' #include  int main() {  std::cout << 'Hello Geek
';  helloWorld();  return 0; }>


RPC
// helloWorld.cpp file #include  void helloWorld() {  std::cout << 'Hello World
'; }>


RPC
// helloWorld.h file void helloWorld();>


g++ -c helloWorld.cpp hello.cpp>
  • Il compile et crée du code objet pour les fichiers helloWorld.cpp et hello.cpp vers helloWorld.o et hello.o respectivement.
g++ -o main.exe helloWorld.o hello.o>
  • Il relie les codes objets helloWorld.o et hello.o pour créer un fichier exécutable main.exe
./main.exe>
  • Il exécute le fichier exécutable main.exe
  • g++ -Wall nom_fichier : Il imprime tous les messages d'avertissement générés lors de la compilation de nom de fichier .
    Exemple:
RPC
// hello.cpp file #include  int main() {  int i;  std::cout << 'Hello Geek
';  return 0; }>


g++ -Wall hello.cpp>
  • L'extension de fichier pour les fichiers C++ peut être .cpp ou .c++, .cpp est largement utilisé mais .cpp et .c++ sont exactement les mêmes et toutes les fonctionnalités ci-dessus sont également les mêmes pour .c++.

avertir


sinon, bash