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 exécuter un programme C ++ sous Linux.
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 exécuter un programme C ++ sous Linux.
Réponses:
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, vous n'avez donc pas besoin d'appeler /usr/bin/g++
explicitement, mais vous pouvez utiliser ce dernier dans tous les cas.
foo.cpp
devrait être dans le même répertoire que vous exécutez la commande. En cas de doute, vous pouvez vous assurer de vous trouver dans le même répertoire en tapant ls foo.cpp
ou head foo.cpp
(si vous devez vérifier que vous travaillez avec le bon foo
.)
Comme noté 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 (pour que la commande à exécuter, ./a.out
ou une commande équivalente, fonctionne):
chmod +x ./a.out
Pour spécifier le nom du fichier de sortie compilé, afin qu'il ne soit pas nommé a.out
, utilisez-le -o
avec votre commande g ++.
Par exemple
g++ -o output foo.cpp
Cela compilera foo.cpp
le fichier binaire nommé output
et vous pourrez taper ./output
pour exécuter le code compilé.
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 le saisir en tapant ./a.out
le point et la barre oblique indiquant que vous souhaitez l'exécuter.
Je fais deux hypothèses ici:
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++ -o main main.cpp
sont donc également valides.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 Projects
dossier de votre répertoire personnel. Pour exécuter cet exécutable, lancez ./Projects/main
.
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
-p: Generate extra code to write profile information suitable for the analysis program prof
-p: Generate extra code to write profile information suitable for the analysis program prof.
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
Compiler hello.cc
avec g ++:
$g++ hello.cc -o hello
L'exécuter:
$./hello
Ici le ./
moyen signifie que le fichier exe est sous le répertoire courant.
vi
, mais ce n'est pas grave. Évitez de suggérer un éditeur spécifique, chacun utilise le sien de toute façon.
g++
est un frontal de gcc
(GNU Compiler Collection) avec des macros c ++ prédéfinies et différentes options / drapeaux par défaut.
compiler du code c ++ avec gcc
est pratique quand il g++
n’est pas disponible pour plusieurs raisons. En fait, il s’agit simplement de se lier à la bibliothèque c ++ -lstdc++
et d’informer gcc de traiter l’entrée comme du code c ++ (en utilisant une .C
extension ou en forçant le langage avec -x
)
autres suffixes de noms de fichiers valides c ++: .cc
, .cp
, .cxx
, .cpp
, .CPP
,.c++
exemple :
gcc cpp_code.C -lstdc++
L’extension 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 a.out
fichier qui peut être exécuté avec./a.out