Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CC++, und Fortran im Jahr AL2 203
AL2023 beinhaltet sowohl die GNU Compiler Collection (GCC) als auch das Clang Frontend für LLVM (Low Level Virtual Machine).
Die Hauptversion von GCC wird während der gesamten Lebensdauer von 023 konstant bleiben. AL2 Kleinere Versionen enthalten Fehlerkorrekturen und sind möglicherweise in AL2 023-Versionen enthalten. Andere Fehler-, Leistungs- und Sicherheitskorrekturen werden möglicherweise auf die Hauptversion zurückportiert, die in GCC AL2 023 ausgeliefert wird.
AL2023 enthält Version 11 von GCC als Standard-Compiler mit den Frontends C (gcc
), C++ () und Fortran (g++
). gfortran
Darüber hinaus bietet AL2 023 GCC Version 14 als optionalen alternativen Compiler, der zusammen mit der Standardversion installiert werden kann.
AL2023 aktiviert die Frontends Ada (gnat
), Go (gcc-go
), Objective-C oder Objective-C++ nicht.
Zu den Standard-Compiler-Flags, mit denen AL2 023 erstellt wurde, RPMs gehören Optimierungs- und Hardening-Flags. Um Ihren eigenen Code mit GCC zu erstellen, empfehlen wir Ihnen, Optimierungs- und Hardening-Flags zu verwenden.
Anmerkung
Bei einem Aufruf von gcc --version
wird eine Versionszeichenfolge wie gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)
angezeigt. Red Hat
bezieht sich auf den GCC-Herstellerzweiggcc --help
angezeigten Fehlerbericht-URL sollten alle Fehlerberichte und Support-Anfragen an Amazon Linux gerichtet werden.
Weitere Informationen über einige der langfristigen Änderungen in diesem Herstellerbereich, wie zum Beispiel das __GNUC_RH_RELEASE__
Makro, finden Sie unter Fedora-Paketquellen
Weitere Informationen zur Kern-Toolchain finden Sie unter. Core-Toolchain-Pakete glibc, gcc, binutils
Weitere Informationen zu AL2 023 und seiner Beziehung zu anderen Linux-Distributionen finden Sie unter. Beziehung zu Fedora
Weitere Informationen zur Änderung der Compiler-Tripletts in AL2 023 im Vergleich zu finden Sie unter. AL2 Compiler-Triplet
GCC14
AL2023 bietet GCC 14 als optionalen Compiler, der zusammen mit dem GCC Standard-Compiler 11 installiert werden kann. GCC14 enthält die neuesten Sprachfunktionen und Optimierungen und eignet sich daher für Projekte, die Unterstützung neuerer C-, C++- oder Fortran-Standards erfordern.
Verwenden Sie den folgenden GCC Befehl, um 14 zu installieren:
sudo dnf install gcc14 gcc14-c++ gcc14-gfortran
Die GCC 14 Compiler werden mit versionsspezifischen Befehlsnamen installiert, um Konflikte mit dem Standard 11 zu vermeiden: GCC
gcc14-gcc
- C-Compilergcc14-g++
- C++-Compilergcc14-gfortran
- Fortran-Compiler
Beispielverwendung:
gcc14-gcc -o myprogram myprogram.c gcc14-g++ -o mycppprogram mycppprogram.cpp gcc14-gfortran -o myfortranprogram myfortranprogram.f90
Sie können die installierte Version überprüfen, indem Sie Folgendes ausführen:
gcc14-gcc --version
Dadurch werden Versionsinformationen angezeigt, die den folgenden ähneln: gcc14-gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
Anmerkung
Sowohl GCC 11 als auch GCC 14 können gleichzeitig auf demselben System installiert werden. Die gfortran
Standardbefehle gcc
g++
, und verwenden weiterhin GCC 11, während auf GCC 14 über die versionsspezifischen Befehle zugegriffen wird.
Vergleich der Sprachstandardversionen
In der folgenden Tabelle werden die Standardversionen der Standardsprachen für verschiedene Amazon Linux-Versionen und GCC Compiler-Versionen verglichen:
Amazon Linux-Version | C-Standard (Standard) | C++-Standard (Standard) | Fortran-Standard |
---|---|---|---|
AL2 mit GCC 7 (Standard) | C11 (201112L) | C+14 (201402L) | Fortran 2008 |
AL2 mit GCC 10 (optional) | C17/C18 (201710L) | C+14 (201402L) | Fortran 2008 |
AL2023 mit GCC 11 (Standard) | C17/C18 (201710L) | C+17 (201703L) | Fortran 2008 |
AL2023 mit GCC 14 (optional) | C17/C18 (201710L) | C+17 (201703L) | Fortran 2008 |
Wichtigste Verbesserungen je nach VersionGCC:
-
GCC10 gegenüber GCC 7: Der Standard-C-Standard wurde von C11 auf C17/C18 aktualisiert, Unterstützung für C++20-Funktionen hinzugefügt und die Optimierungsmöglichkeiten verbessert.
-
GCC11 vs GCC 10: Der Standard-C++-Standard wurde von C++14 auf C++17 aktualisiert, die C++20-Unterstützung verbessert und experimentelle C++23-Funktionen hinzugefügt.
-
GCC14 gegenüber GCC 11: Vollständige C23-Standardunterstützung, erweiterte C++23-Funktionen, verbesserte Optimierung und bessere Standardkonformität hinzugefügt.
Unterstützte Sprachstandards:
-
C-Standards: Alle Versionen unterstützen C90, C99, C11 und C17/C18. GCC10+ unterstützt C2x (Entwurf C23), während 14 volle C23-Unterstützung bietet. GCC
-
C++-Standards: Alle Versionen unterstützen C++98, C++03, C++11, C++14, C++17 und C++20. GCC11+ bietet experimentelle C++23-Unterstützung, wobei 14 erweiterte C++23-Funktionen bietet. GCC
-
Fortran-Standards: Alle Versionen unterstützen hauptsächlich Fortran 2008, wobei die Funktionen von Fortran 2018 je nach Version unterschiedlich sind. GCC
Anmerkung
Während die Standardstandards zwischen GCC 11 und 14 konsistent bleiben, bietet GCC 14 eine deutlich verbesserte Unterstützung von Sprachfunktionen, eine bessere Optimierung, erweiterte Diagnosen und eine vollständigere Implementierung neuerer Standards, wenn sie ausdrücklich mithilfe von Flags angefordert werden. -std=