121 votes

Quelle est une commande permettant de compiler et d'exécuter des programmes C++ ?

Je suis nouveau sur Linux. J'utilise Ubuntu 11.04 et je ne sais pas comment compiler et exécuter un programme C++. J'ai besoin de connaître les commandes pour Compiler y Exécuter un programme C++ sous Linux.

147voto

Jeff Hubbard Points 5292

Pour compiler votre code c++, utilisez :

g++ foo.cpp

foo.cpp dans l'exemple est le nom du programme à compiler.

Cela produira un exécutable dans le même répertoire appelé a.out que vous pouvez exécuter en tapant ceci dans votre terminal :

./a.out

g++ devrait déjà être dans votre $PATH, donc vous n'avez pas besoin d'appeler /usr/bin/g++ explicitement, mais vous pouvez utiliser cette dernière dans tous les cas.

foo.cpp doit être dans le même répertoire que celui à partir duquel vous exécutez la commande. En cas de doute, vous pouvez vous assurer que vous êtes dans le même répertoire en tapant ls foo.cpp o head foo.cpp (si vous avez besoin de vérifier que vous travaillez avec la bonne foo .)

Comme noté par @con-f-use, le compilateur rendra généralement ce fichier exécutable, mais si ce n'est pas le cas, vous pouvez le faire vous-même (donc la commande à exécuter, ./a.out ou équivalent, fonctionnera) :

chmod +x ./a.out

Pour spécifier le nom du fichier de sortie compilé, afin qu'il ne soit pas nommé a.out utiliser -o avec votre commande g++.

Par exemple

g++ -o output foo.cpp

Cela compilera foo.cpp dans le fichier binaire nommé output et vous pouvez taper ./output pour exécuter le code compilé.

24voto

Je fais deux hypothèses ici :

  1. Vous avez déjà un fichier source/programme C++ prêt à être construit.
  2. Vous avez mis en place un système de construction sur votre ordinateur.

La façon la plus simple de compiler un programme C++ sur Ubuntu, ou toute autre distro Linux d'ailleurs, est de taper

g++ main.cpp -o main
  • g++ est l'invocation du composant C++ de CCG le compilateur de facto pour C/C++ et toute une série d'autres langages sur la plate-forme Linux. C'est actuellement le seul compilateur capable de compiler le noyau Linux.
  • main.cpp est le fichier source c++ que vous souhaitez compiler.
  • -o main spécifie le nom du fichier de sortie que vous souhaitez créer une fois que la source est compilée. Le fichier source cible et le fichier de sortie cible peuvent être inversés si vous le souhaitez, ainsi g++ -o main main.cpp est également valable.
  • Pour ensuite exécuter ce programme, vous devez faire ./main dans le terminal.

Les commandes ci-dessus supposent que vous vous trouvez déjà à l'emplacement des fichiers sources, mais le fichier source et le fichier de sortie cible peuvent également être spécifiés sous forme de répertoire. Par exemple

g++ ~/Desktop/main.cpp -o ~/Projects/main

compilera un fichier source C++ situé sur votre bureau et placera le binaire exécutable dans un répertoire de type Projects dans votre répertoire personnel. Pour lancer cet exécutable, exécutez ./Projects/main .

6voto

Stefan Points 348

C'est ainsi que j'aime compiler avec g++.

$g++ -W -Wall -pedantic -o programName -p sourceFile.cpp

-W: Print extra warning messages for some problems.
-Wall: Enable all the warnings about questionable code
-pedantic: Show all the warnings demanded by strict ISO compliance
-o programName: place the executable output in programName sourceFile.cpp: the 
name of our source code file
-p: Generate extra code to write profile information suitable for the analysis program prof

1voto

user24994 Points 283

Vous avez besoin de g++, car gcc ne peut pas compiler le fichier cpp facilement.
Vous devez également apprendre vim ou emacs pour écrire du code C.
Essayez ceci sur votre terminal :

Tapez un programme de test et sauvegardez-le :

$vim hello.cc

Compiler hello.cc avec g++ :

$g++ hello.cc -o hello

Exécutez-le :

$./hello

Ici, le ./ signifie que le fichier exe se trouve sous le répertoire courant.

1voto

g++ est un frontal pour gcc (GNU Compiler Collection) avec quelques macros c++ prédéfinies et différentes options/flags par défaut.

compiler du code c++ avec gcc est pratique lorsque g++ n'est pas disponible pour un certain nombre de raisons ,en fait il s'agit juste de faire un lien vers la librairie c++ -lstdc++ et en informant gcc de traiter l'entrée comme du code c++ (soit en utilisant une balise .C ou de forcer la langue avec -x )
autres suffixes de noms de fichiers c++ valides : <code>.cc</code> , <code>.cp</code> , <code>.cxx</code> , <code>.cpp</code> , <code>.CPP</code> , <code>.c++</code>

exemple :

gcc cpp_code.C -lstdc++ l'extension en majuscules ( <code>.C</code> ) est important pour que gcc sache qu'il s'agit d'un fichier c++.

ou en spécifiant explicitement la langue d'entrée :

gcc -x c++ cpp_code.txt -lstdc++ l'extension peut être n'importe quoi, ou même rien

par défaut, le résultat (après une compilation réussie) est un fichier de type a.out qui peut être exécuté avec ./a.out

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X