Question 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 le programme C ++. J'ai besoin de connaître les commandes pour Compiler et Exécuter un programme C ++ sous Linux.


68
2017-09-14 15:44


origine


Est-ce que l'une des réponses vous a aidé? - lindhe


Réponses:


Pour compiler votre code c ++, utilisez:

g++ foo.c 

foo.c 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 /usr/bin/g++ explicitement, mais vous pouvez utiliser ce dernier en tout cas.

foo.c devrait être dans le même répertoire que 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.c ou head foo.c (si vous avez besoin de vérifier que vous travaillez avec le bon foo.)

Comme noté par @ con-f-use, le compilateur rendra généralement ce fichier exécutable, mais sinon, 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, use-o` avec votre commande g ++.
 Par exemple.,

g++ -o output foo.c 

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


81
2017-09-14 15:48



Le compilateur fait généralement le binaire (a.out dans ce cas) exécutable. Sinon, vous pouvez le faire en tapant: chmod +x a.out. Lorsque votre programme compilé est exécutable, vous pouvez l'exécuter en tapant ./a.out - l'indication de point et de barre oblique que vous voulez exécuter. - con-f-use
@Rajeshkumar, avez-vous trouvé une de ces réponses à votre goût? Si oui, pourriez-vous alors en marquer une comme réponse acceptée (en sélectionnant la coche située sous les flèches de vote haut / bas) afin que nous puissions tracer une ligne en dessous de cette question. - Chris Wilson
Existe-t-il une différence entre g ++ foo.c -o output et g ++ -o output foo.c? - Goldname


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 une foule 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 principal 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 valable.
  • 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 binaire exécutable dans un Projects dossier dans votre répertoire personnel. Pour exécuter cet exécutable, exécutez ./Projects/main.


15
2017-09-15 08:51





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
2017-09-03 06:03



-p: Generate extra code to write profile information suitable for the analysis program prof. - Hans
J'aime ta réponse Cela apporte des suggestions supplémentaires. Mais vous devriez vraiment le reformuler pour être généralement acceptable. - Vlastimil


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é en tant que (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

Vous pouvez maintenant exécuter le fichier avec le nom que vous avez spécifié.


2
2018-06-22 18:15



Je ne vois pas comment cette réponse pourrait éventuellement améliorer la réponse acceptée existante. - Vlastimil


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:

Tapez un programme de test et enregistrez-le:

$vim hello.cc

Compiler hello.cc avec g ++:

$g++ hello.cc -o hello

L'exécuter:

$./hello

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


1
2017-09-14 16:33



gcc est le compilateur GNU pour le compilateur C et C ++. Et l'OP n'a pas nécessairement besoin de connaître vim ou emacs pour écrire du code C, il y a beaucoup d'autres éditeurs de texte et IDE qui circulent. - Nitin Venkatesh
bien que j'aime vim, si quelqu'un a déjà du mal à trouver un moyen de résoudre un problème, suggérer que vim n'est pas très utile. - johanvdw
Personnellement je n'aime pas vi, Mais ça ne fait rien. Vous devez vous éloigner de suggérer un éditeur spécifique, tout le monde utilise le sien de toute façon. - Vlastimil


g++ est un front-end à gcc(Collection GNU Compiler) avec certaines macros c ++ prédéfinies et différentes options / options par défaut.

compiler du code c ++ avec gcc est pratique quand g++ n'est pas disponible pour un certain nombre de raisons, en fait c'est juste une question de liens vers la bibliothèque c ++ -lstdc++ et informer gcc de traiter l’entrée comme du code c ++ (soit en utilisant un .C extension, ou forcer 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 majuscule (.C) est important pour gcc de savoir qu’il s’agit d’un fichier c ++.

ou 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 a.out fichier qui peut être exécuté avec ./a.out


0
2017-07-16 05:45



Votre réponse est plus informative - Billal Begueradj