web-dev-qa-db-fra.com

Qu'est-ce qu'une commande pour compiler et 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 et Execute un programme C++ sous Linux.

79
Rajeshkumar

Pour compiler votre code c ++, utilisez:

g++ foo.cpp

foo.cpp dans l'exemple, 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, vous n'avez donc pas besoin d'appeler explicitement /usr/bin/g++, mais vous pouvez utiliser ce dernier dans tous les cas.

foo.cpp devrait se trouver dans le même répertoire que celui où vous exécutez la commande. En cas de doute, vous pouvez vous assurer que vous vous trouvez dans le même répertoire en saisissant ls foo.cpp ou head foo.cpp (si vous devez vérifier que vous utilisez le nom correct foo.).

Comme indiqué par @ con-f-use, le compilateur rendra ce fichier exécutable, mais si ce n’est pas le cas, vous pouvez le faire vous-même (la commande à exécuter, ./a.out ou l’é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, use- o` avec votre commande g ++.

Par exemple.

g++ -o output foo.cpp

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

96
belacqua

Je fais deux hypothèses ici:

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

Le moyen le plus simple de compiler un programme C++ sur Ubuntu, ou toute autre distribution Linux, est de taper

g++ main.cpp -o main
  • g ++ est l’invocation du composant C++ de GCC , le compilateur defacto pour C/C++ et l’ensemble de l’hôte de langues 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 la source compilée. Le fichier source cible et le fichier de sortie cible peuvent être inversés si vous le souhaitez. g++ -o main main.cpp est également valide.
  • Pour exécuter ensuite ce programme, vous devez utiliser ./main dans le terminal.

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

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

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

19
user2405

C'est comme ça 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
4
amrx
g++ filename.cpp 

par exemple:

g++ One.cpp

Cela générera un fichier de sortie nommé (par exemple):

a.out

Si vous créez un autre programme et le compilez (par exemple):

g++ Two.cpp

Cela générera également un fichier de sortie nommé (par exemple):

a.out

Cela signifie que vous pouvez obtenir la sortie du dernier programme compilé uniquement si vous l'exécutez. Pour éviter cette utilisation (par exemple)

g++ One.cpp -o One 

maintenant, votre fichier de sortie sera:

One

Maintenant, vous pouvez exécuter le fichier avec le nom que vous avez spécifié.

2
Aman Dharna

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

Tapez un programme de test et enregistrez-le:

$vim hello.cc

Compilez hello.cc avec g ++:

$g++ hello.cc -o hello

L'exécuter:

$./hello

Ici, le ./ signifie que le fichier exe est sous le répertoire en cours.

1
bigeast