Was ist der Unterschied zwischen g ++ und gcc?
Was ist der Unterschied zwischen g++ und gcc? Welche sollte verwendet werden, für Allgemeine c++ - Entwicklung?
InformationsquelleAutor der Frage Brian R. Bondy | 2008-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
gcc
undg++
sind compiler-Treiber, der " Gnu Compiler Sammlung' (das war einmal vor langer Zeit, nur die 'Gnu C-Compiler').Obwohl Sie automatisch festzustellen, welche backends (
cc1
cc1plus
...) zu nennen, je nach Datei-Typ, es sei denn, überschrieben mit-x language
, Sie haben einige Unterschiede.Der wohl wichtigste Unterschied in den Standardeinstellungen ist die libraries, Sie link gegen automatisch.
Laut GCC-online-Dokumentation link-Optionen und wie g++ aufgerufen wird,
g++
entsprichtgcc -xc++ -lstdc++ -shared-libgcc
(die 1. ist eine compiler-option, die 2. beiden sind linker-Optionen). Dies kann überprüft werden, indem die laufen beide mit der-v
option (es zeigt die backend-toolchain-Befehle werden ausgeführt).InformationsquelleAutor der Antwort
GCC: GNU Compiler Collection
gcc: GNU-C-Compiler
g++: GNU C++ - Compiler
Die wichtigsten Unterschiede:
Extra Makros beim kompilieren von *.cpp-Dateien:
InformationsquelleAutor der Antwort Martin York
Für c++, die Sie verwenden sollten g++.
Es ist der gleiche compiler (z.B. der GNU compiler collection). GCC oder G++ wählen Sie einfach eine andere front-end mit verschiedenen Standard-Optionen.
Kurz gesagt: wenn Sie g++ frontend sagt dem linker, dass Sie möchten, um eine Verbindung mit dem C++ - standard-Bibliotheken. Das gcc-frontend nicht tun (es kann auch Verbindung mit Ihnen, wenn Sie passieren die richtigen Kommandozeilen-Optionen).
InformationsquelleAutor der Antwort Nils Pipenbrinck
Obwohl der gcc-und g++ - Befehle zu tun sehr ähnliche Dinge, g++ ist der Befehl, den Sie aufrufen würden zum kompilieren eines C++ - Programms; es soll automatisch das richtige tun.
Hinter den kulissen, Sie sind wirklich das gleiche Programm. So wie ich das verstehe, beide entscheiden, ob Sie zum kompilieren eines Programmes als C oder als C++ basierend auf der Dateinamenerweiterung. Beide sind in der Lage die Verlinkung gegen die C++ standard-Bibliothek, aber nur g++ tut dies standardmäßig. Also, wenn Sie ein Programm in C++ geschrieben, dass das nicht passiert, muss link gegen die standard library, gcc passieren wird, das richtige zu tun; aber dann, so würde g++. Es gibt also wirklich keinen Grund, nicht zu verwenden, g++ für Allgemeine C++ - Entwicklung.
InformationsquelleAutor der Antwort zaphod
Was ist der Unterschied zwischen
g++
undgcc
?gcc
hat sich aus einer einzigen Sprache "GNU C Compiler" ein multi-language "GNU Compiler Collection". Der Begriff "GNU C Compiler" ist immer noch manchmal verwendet, im Zusammenhang mit C-Programmierung.Den
g++
ist der C++ - compiler der GNU Compiler Collection. Wiegnat
ist der Ada-compiler fürgcc
. finden Sie Mithilfe der GNU Compiler Collection (GCC)Beispielsweise die Ubuntu 16.04
man g++
- Befehl gibt dieGCC(1)
manual-Seite.Den
man gcc
besagt, dass ...ist und dass die Standard - ...
Suche die
gcc
man-Seiten für Sitten, Angaben über die Möglichkeit, Abweichungen vongcc
undg++
.Welches sollte verwendet werden, für Allgemeine c++ - Entwicklung?
Entweder
gcc
oderg++
kann verwendet werden, für Allgemeine C++ - Entwicklung mit den geltenden Einstellungen. Allerdingsg++
Standard-Verhalten ist natürlich ausgerichtet auf eine C++ - zentrierten Entwicklung.InformationsquelleAutor der Antwort l --marc l
Ich wurde daran interessiert, die Ausgabe und die Durchführung einiger Experimente
Fand ich, dass die Beschreibung hier, aber es ist sehr kurz.
Dann habe ich versucht, zu Experimentieren mit gcc.exe und g++.exe-Datei auf meinem windows-Rechner:
Habe ich versucht zu kompilieren, c89, c99 und c++1998 einfachen test-Dateien und Es funktioniert gut für mich mit den richtigen Erweiterungen für die passende Sprache
Aber wenn ich versuche zu laufen "gnu compiler collection" - tool in dieser Art und Weise:
Aber diese noch keine Fehler
Werden und dies auch
p.s. Test-Dateien
Ergebnisse:
Wenn Blick auf Prozess-Baum dann scheint es, dass gcc und g++ - backend zu anderen tools, die in meiner Umgebung sind: cc1plus.exe, cc1.exe, collect2.exe, as.exe, ld.exe
gcc funktioniert als metatool, wenn Sie die richtige Erweiterung oder korrekt einstellen
-std -x-flags. Sehen diese
InformationsquelleAutor der Antwort bruziuz
Der einzige nennenswerte Unterschied ist, dass ich Sie übergeben ein .c gcc-es wird kompiliert, wie C, in der Erwägung, dass g++ wird immer behandeln Sie als C++
InformationsquelleAutor der Antwort njsf
"GCC" ist eine gemeinsame Kurzschrift Begriff für die GNU-Compiler-Sammlung. Dies ist die Allgemeine Bezeichnung für den compiler, und der name verwendet, wenn der Schwerpunkt auf die Erstellung von C-Programmen (die Abkürzung früher Stand für "GNU C Compiler").
Wenn sich auf C++ - Kompilierung, ist es üblich, rufen Sie den compiler "G++". Da es nur einen compiler, es ist auch genau nennen es "GCC" egal, was die Sprache aus dem Zusammenhang gerissen, aber der Begriff "G++" ist mehr nützlich, wenn der Schwerpunkt auf kompilieren von C++ - Programmen.
Könnte man mehr Lesen hier.
InformationsquelleAutor der Antwort Minh Triet Pham Tran
gcc und g ++ sind sowohl GNU-compiler. Beide kompilieren von c und c++. Der Unterschied ist der *.c-Dateien gcc behandelt es wie ein c-Programm, und g++ sieht es aus wie ein c ++ - Programm. *.cpp-Dateien sind als c ++ - Programme. c++ ist eine Obermenge von c, die syntax ist streng, so vorsichtig sein, über das suffix.
InformationsquelleAutor der Antwort Marcus Thornton
Ich war testen von gcc und g++ in einem linux-system. Durch die Verwendung von MAKEFILES, ich kann definieren, der compliler von "GNU make". Getestet habe ich mit der sogenannten "dynamic memory" suchen-Funktion "C plus plus":
Nur g++ erfolgreich kompiliert auf meinem computer, während gcc meldet Fehler
Also meine eigene Schlussfolgerung ist gcc nicht vollständig unterstützt "C plus plus". Es scheint, dass die Wahl von g++ für C++ Quellcode-Dateien ist eine bessere option.
InformationsquelleAutor der Antwort magicmax