der GCC-Compiler
Eine Verwirrung ist hier, dass GCC mehrere Bedeutungen hat, manchmal kann es sich speziell auf den C-Compiler beziehen ("GNU C-Compiler"), manchmal kann es sich auf die gesamte Compiler-Sammlung beziehen ("GNU-Compiler-Collection").
Die GNU-Compiler-Auflistung ist, wie der Name schon sagt, eine Auflistung von Compilern, die etwas Code gemeinsam verwenden. Zu der Auflistung gehören ein C-Compiler und ein C ++ - Compiler.
Die Binärdateien "gcc" und "g ++" sind "Compiler-Treiber". Sie verarbeiten die Befehlszeilen und rufen die Programme (Compiler, Linker, Präprozessor, falls nicht integriert) auf, die die eigentliche Arbeit mit den richtigen Optionen ausführen.
Die eigentlichen Compiler sind "cc1" für C und "cc1plus" für C ++.
"g ++" enthält zusätzliche Verhaltensweisen, die spezifisch für C ++ sind, sodass ein C ++ - Programm außerhalb des Postens kompiliert und verknüpft werden kann. Weitere Informationen finden Sie unter https://stackoverflow.com/a/173007/5083516 .
Nun zu den Debian-Paketen.
Debian-Namen sind "gcc" und "g ++" - Binärdateien mit einem Architekturpräfix und einem Versionssuffix. So verwende ich zum Beispiel auf dem Debian-System, das ich zum Schreiben dieses Beitrags verwende. "G ++" ist ein Symlink zu "g ++ - 6", wiederum ist ein symbolischer Link zu x86_64-linux-gnu-g ++ - 6
Das Debian-Paket "g ++" enthält den Compiler nicht wirklich, es enthält lediglich die symbolischen Links von nicht versionierten Namen zu versionierten Namen und hängt (in Debian-Stretch) von "cpp", "g ++ - 6", "gcc" und " gcc-6 "(Andere Versionen haben eine andere Versionsnummer).
Das Debian-Paket "g ++ - 6" enthält die eigentlichen Binärdateien für g ++ Version 6.x (x86_64-linux-gnu-g ++ - 6 unter x86-64) und cc1plus (in einem Verzeichnis, das für die Compilerversion und das Ziel spezifisch ist die Architektur).
"g ++ - 6" hängt wiederum von "libstdc ++ - 6-dev" ab. Dieses enthält die Header der C ++ - Standardbibliothek, die statische Version der C ++ - Standardbibliothek und einen Symlink zur dynamischen Version der C ++ - Standardbibliothek (und ein ein paar andere statische Bibliotheken, die nur unter ungewöhnlichen Umständen von Bedeutung sind)
"libstdc ++ - 6-dev" hängt wiederum von "libstdc ++ 6" ab, das die dynamische Version der C ++ - Standardbibliothek enthält (beachten Sie, dass die 6 in libstdc ++ - 6-dev und die 6 in libstdc ++ 6 auf verschiedene Dinge verweisen Im ersten Fall handelt es sich um die Version des Compilers, im letzteren Fall um die Soverion der Standard-C-Bibliothek.
Die Installation des "g ++" - Pakets zieht also alles ein, was Sie zum Schreiben von Programmen in C ++ benötigen