Sono nuovo di Linux. Sto usando Ubuntu 11.04 e non so come compilare ed eseguire il programma C ++ in esso. Ho bisogno di conoscere i comandi per compilare ed eseguire un programma C ++ in Linux.
Sono nuovo di Linux. Sto usando Ubuntu 11.04 e non so come compilare ed eseguire il programma C ++ in esso. Ho bisogno di conoscere i comandi per compilare ed eseguire un programma C ++ in Linux.
Risposte:
Per compilare il codice c ++, utilizzare:
g++ foo.cpp
foo.cpp nell'esempio è il nome del programma da compilare.
Questo produrrà un eseguibile nella stessa directory chiamata a.out
che puoi eseguire digitandolo nel tuo terminale:
./a.out
g ++ dovrebbe essere già nel tuo $ PATH, quindi non è necessario chiamare /usr/bin/g++
esplicitamente, ma puoi usare quest'ultimo in ogni caso.
foo.cpp
dovrebbe trovarsi nella stessa directory da cui stai eseguendo il comando. In caso di dubbi, puoi assicurarti di trovarti nella stessa directory digitando ls foo.cpp
o head foo.cpp
(se devi verificare che stai lavorando con il corretto foo
.)
Come notato da @ con-f-use, il compilatore di solito renderà eseguibile questo file, ma in caso contrario, puoi farlo tu stesso (quindi il comando da eseguire, ./a.out
o equivalente, funzionerà):
chmod +x ./a.out
Per specificare il nome del file di output compilato, in modo che non sia denominato a.out
, utilizzare -o
con il comando g ++.
Per esempio
g++ -o output foo.cpp
Questo verrà compilato foo.cpp
nel file binario denominato output
ed è possibile digitare ./output
per eseguire il codice compilato.
a.out
in questo caso). Se non è possibile farlo digitando: chmod +x a.out
. Quando il tuo programma compilato è eseguibile, puoi eseguirlo digitando ./a.out
- il punto e l'indicazione della barra, che vuoi eseguirlo.
Sto facendo due ipotesi qui:
Il modo più semplice per compilare un programma C ++ su Ubuntu, o qualsiasi altra distribuzione Linux per quello, è digitare
g++ main.cpp -o main
g++ -o main main.cpp
è ugualmente valido.I comandi precedenti presuppongono che ci si trovi già nella posizione dei file di origine, ma sia il file di origine che il file di output di destinazione possono anche essere specificati come directory. Per esempio
g++ ~/Desktop/main.cpp -o ~/Projects/main
compilerà un file sorgente C ++ situato sul desktop e posizionerà il file binario eseguibile in una Projects
cartella nella directory home. Per eseguire questo eseguibile, esegui ./Projects/main
.
È così che mi piace compilare con 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.
Hai bisogno di g ++, perché gcc potrebbe non compilare facilmente il file cpp.
Devi anche imparare vim o emacs per scrivere il codice C.
Prova questo sul tuo terminale:
Digita un programma di prova e salvalo:
$vim hello.cc
Compila hello.cc
con g ++:
$g++ hello.cc -o hello
Eseguilo:
$./hello
Qui ./
significa che il file exe è sotto la directory corrente.
vi
, ma non importa. Dovresti allontanarti dal suggerire un editore specifico, ognuno usa comunque il proprio.
g++
è un front-end a gcc
(GNU Compiler Collection) con alcune macro c ++ predefinite e diverse opzioni / flag predefiniti.
compilare il codice c ++ con gcc
è utile quando g++
non è disponibile per una serie di motivi, in effetti si tratta solo di collegarsi alla libreria c ++ -lstdc++
e informare gcc per trattare l'input come codice c ++ (usando .C
un'estensione o forzando la lingua con -x
)
altro nome di file C ++ validi suffissi: .cc
, .cp
, .cxx
, .cpp
, .CPP
,.c++
esempio :
gcc cpp_code.C -lstdc++
l'estensione maiuscola ( .C
) è importante per gcc per sapere che è un file c ++.
o specificando esplicitamente la lingua di input:
gcc -x c++ cpp_code.txt -lstdc++
l'estensione può essere qualsiasi cosa o addirittura nulla
per impostazione predefinita, il risultato (dopo una compilazione corretta) è un a.out
file che può essere eseguito con./a.out