Ich bin neu in Linux. Ich benutze Ubuntu 11.04 und weiß nicht, wie ich C ++ - Programme darin kompilieren und ausführen soll. Ich brauche die Befehle kennen zu Kompilieren und Ausführen ein C ++ Programms in Linux.
Ich bin neu in Linux. Ich benutze Ubuntu 11.04 und weiß nicht, wie ich C ++ - Programme darin kompilieren und ausführen soll. Ich brauche die Befehle kennen zu Kompilieren und Ausführen ein C ++ Programms in Linux.
Antworten:
Verwenden Sie zum Kompilieren Ihres C ++ - Codes Folgendes:
g++ foo.cpp
foo.cpp im Beispiel ist der Name des zu kompilierenden Programms.
Dies wird eine ausführbare Datei in demselben Verzeichnis erzeugen, a.out
das Sie ausführen können, indem Sie Folgendes in Ihr Terminal eingeben:
./a.out
g ++ sollte sich bereits in Ihrem $ PATH befinden, sodass Sie nicht /usr/bin/g++
explizit aufrufen müssen , aber Sie können letzteres auf jeden Fall verwenden.
foo.cpp
sollte sich in demselben Verzeichnis befinden, von dem aus Sie den Befehl ausführen. Im Zweifelsfall können Sie sicherstellen, dass Sie sich im selben Verzeichnis befinden, indem Sie ls foo.cpp
oder eingeben head foo.cpp
(wenn Sie überprüfen müssen, ob Sie mit dem richtigen Verzeichnis arbeiten foo
).
Wie von @ con-f-use angegeben, macht der Compiler diese Datei normalerweise ausführbar. Wenn dies nicht der Fall ist, können Sie dies selbst tun (der auszuführende Befehl ./a.out
oder ein gleichwertiger Befehl funktioniert also):
chmod +x ./a.out
a.out
Verwenden -o
Sie den Befehl g ++, um den Namen der kompilierten Ausgabedatei anzugeben, damit sie nicht benannt wird .
Z.B
g++ -o output foo.cpp
Dadurch wird foo.cpp
die Binärdatei mit dem Namen kompiliert output
, und Sie können ./output
eingeben, um den kompilierten Code auszuführen.
a.out
in diesem Fall) ausführbar. Wenn nicht , können Sie dies tun, indem Sie eingeben: chmod +x a.out
. Wenn Ihr kompiliertes Programm ausführbar ist, können Sie es eingeben ./a.out
- der Punkt und der Schrägstrich zeigen an, dass Sie es ausführen möchten.
Ich mache hier zwei Annahmen:
Der einfachste Weg, ein C ++ - Programm unter Ubuntu oder einer anderen Linux-Distribution zu kompilieren, ist die Eingabe
g++ main.cpp -o main
g++ -o main main.cpp
ist also gleichermaßen gültig.Bei den obigen Befehlen wird davon ausgegangen, dass Sie sich bereits am Speicherort der Quelldateien befinden. Die Quelldatei und die Zielausgabedatei können jedoch auch als Verzeichnis angegeben werden. Zum Beispiel
g++ ~/Desktop/main.cpp -o ~/Projects/main
kompiliert eine C ++ - Quelldatei auf Ihrem Desktop und legt die ausführbare Binärdatei in einem Projects
Ordner in Ihrem Ausgangsverzeichnis ab . Führen Sie aus, um diese ausführbare Datei auszuführen ./Projects/main
.
So kompiliere ich gerne mit 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.
Sie benötigen g ++, da gcc die CPP-Datei möglicherweise nicht einfach kompiliert.
Sie müssen auch vim oder emacs lernen, um C-Code zu schreiben.
Probieren Sie dies einfach auf Ihrem Terminal aus:
Geben Sie ein Testprogramm ein und speichern Sie es:
$vim hello.cc
Kompiliere hello.cc
mit g ++:
$g++ hello.cc -o hello
Führ es aus:
$./hello
Hier ./
bedeutet das, dass sich die exe-Datei unter dem aktuellen Verzeichnis befindet.
vi
, aber es spielt keine Rolle. Sie sollten sich davon abwenden, einen bestimmten Editor vorzuschlagen, jeder verwendet sowieso seinen eigenen.
g++
ist ein Front-End von gcc
(GNU Compiler Collection) mit einigen vordefinierten c ++ - Makros und verschiedenen Standardoptionen / Flags.
Das Kompilieren von C ++ - Code mit gcc
ist praktisch, wenn g++
es aus einer Reihe von Gründen nicht verfügbar ist. Es geht lediglich darum, eine Verknüpfung mit der C ++ - Bibliothek -lstdc++
herzustellen und gcc zu informieren, die Eingabe als C ++ - Code zu behandeln (entweder durch Verwendung einer .C
Erweiterung oder durch Erzwingen der Sprache mit -x
)
anderer gültige c ++ Dateinamen - Suffixe: .cc
, .cp
, .cxx
, .cpp
, .CPP
,.c++
Beispiel:
gcc cpp_code.C -lstdc++
Die Erweiterung ( .C
) in Großbuchstaben ist wichtig, damit GCC weiß, dass es sich um eine C ++ - Datei handelt.
oder explizite Angabe der Eingabesprache:
gcc -x c++ cpp_code.txt -lstdc++
Erweiterung kann alles oder gar nichts sein
Standardmäßig ist das Ergebnis (nach einer erfolgreichen Kompilierung) eine a.out
Datei, mit der ausgeführt werden kann./a.out