Qu'est-ce qu'une commande pour compiler et exécuter les programmes C ++?

67

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

    
posée Rajeshkumar 14.09.2011 - 17:44
la source

6 réponses

81

Pour compiler votre code c ++, utilisez:

g++ foo.c

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

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

./a.out

g ++ devrait déjà figurer dans votre $ PATH, vous n'avez donc pas besoin d'appeler explicitement /usr/bin/g++ , mais vous pouvez toujours l'utiliser.

foo.c devrait être dans le même répertoire que celui sur lequel vous exécutez la commande. En cas de doute, vous pouvez vous assurer que vous vous trouvez dans le même répertoire en tapant ls foo.c ou head foo.c (si vous devez vérifier que vous utilisez le bon foo .)

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

chmod +x ./a.out

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

g++ -o output foo.c

Cela compilera foo.c au fichier binaire nommé output et vous pourrez taper ./output pour exécuter le code compilé.

    
réponse donnée belacqua 14.09.2011 - 17:48
la source
15

Je fais deux hypothèses ici:

  1. Vous avez déjà un fichier / programme source C ++ prêt à construire
  2. Vous avez configuré un système de génération 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 de facto pour C / C ++ et toute une autres 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, donc g++ -o main main.cpp est également valide.
  • Pour exécuter ensuite ce programme, vous devez faire ./main dans le terminal.

Les commandes ci-dessus supposent que vous êtes déjà à l'emplacement des fichiers source, mais que 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 Projects de votre répertoire personnel. Pour exécuter cet exécutable, exécutez ./Projects/main .

    
réponse donnée Chris Wilson 15.09.2011 - 10:51
la source
4

J'aime comment 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
    
réponse donnée amrx 03.09.2016 - 08:03
la source
2
g++ filename.cpp 

par exemple:

g++ One.cpp

Cela va générer 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é.

    
réponse donnée Aman Dharna 22.06.2015 - 20:15
la source
1

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

Saisissez un programme de test et enregistrez-le:

$vim hello.cc

Compilez hello.cc avec g ++:

$g++ hello.cc -o hello

Exécutez-le:

$./hello

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

    
réponse donnée bigeast 14.09.2011 - 18:33
la source
0

g++ est une interface à gcc (GNU Compiler Collection) avec certaines macros c ++ prédéfinies et différentes options / options 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 ne s'agit que de lier la bibliothèque c ++ -lstdc++ et d'informer gcc de traiter l'entrée comme du code c ++ (soit en utilisant une extension .C , soit en forçant la langue avec -x )
autres suffixes de nom de fichier c ++ valides: .cc , .cp , .cxx , .cpp , .CPP , .c++

exemple:

gcc cpp_code.C -lstdc++ l'extension en majuscule ( .C ) est importante pour que gcc sache qu'il s'agit d'un fichier c ++.

ou spécifiant explicitement la langue d’entrée:

gcc -x c++ cpp_code.txt -lstdc++ extension peut être n'importe quoi, voire rien

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

    
réponse donnée user257256 16.07.2016 - 07:45
la source

Lire d'autres questions sur les étiquettes