CC++, et Fortran en AL2 2023 - Amazon Linux 2023

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CC++, et Fortran en AL2 2023

AL2023 inclut à la fois la collection de compilateurs GNU (GCC) et le Clang frontend pour LLVM (Low Level Virtual Machine).

La version majeure de GCC restera constante pendant toute la durée de vie de AL2 2023. Les versions mineures apportent des corrections de bogues et peuvent être incluses dans les versions AL2 023. D'autres correctifs de bogues, de performances et de sécurité pourraient être rétroportés vers la version majeure GCC qui sera livrée en AL2 2023.

AL2023 inclut la version 11 de GCC comme compilateur par défaut avec les interfaces C (gcc), C++ (g++) et Fortran (gfortran). De plus, AL2 023 fournit GCC la version 14 en tant que compilateur alternatif facultatif qui peut être installé en même temps que la version par défaut.

AL2023 n'active pas les frontends Ada (gnat), Go (gcc-go), Objective-C ou Objective-C++.

Les indicateurs de compilation par défaut avec lesquels AL2 023 RPMs est construit incluent les indicateurs d'optimisation et de renforcement. Pour créer votre propre code avec GCC, nous vous recommandons d'inclure des indicateurs d'optimisation et de renforcement.

Note

Quand gcc --version est invoqué, une chaîne de version telle que gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) est affichée. Red Hat fait référence à la branche de fournisseur GCC sur laquelle le package GCC d'Amazon Linux est basé. Selon l'URL du rapport de bogue indiquée pargcc --help, tous les rapports de bogue et les demandes d'assistance doivent être adressés à Amazon Linux.

Pour plus d'informations sur certains des changements à long terme apportés à cette branche du fournisseur, tels que la __GNUC_RH_RELEASE__ macro, consultez les sources des packages Fedora.

Pour plus d'informations sur la chaîne d'outils principale, consultezPackages de chaîne d'outils de base glibc, gcc, binutils.

Pour plus d'informations sur AL2 023 et sa relation avec les autres distributions Linux, consultezRelation avec Fedora.

Pour plus d'informations sur la variation du triplet du compilateur en AL2 023 par rapport à AL2, voir. Triplet de compilateur

GCC14

AL2023 fournit GCC 14 en tant que compilateur optionnel qui peut être installé en plus du GCC 11 par défaut. GCC14 inclut les dernières fonctionnalités et optimisations du langage, ce qui le rend adapté aux projets nécessitant la prise en charge des nouvelles normes C, C++ ou Fortran.

Pour installer GCC 14, utilisez la commande suivante :

sudo dnf install gcc14 gcc14-c++ gcc14-gfortran

Les GCC 14 compilateurs sont installés avec des noms de commande spécifiques à la version afin d'éviter tout conflit avec le 11 par défaut : GCC

  • gcc14-gcc- Compilateur C

  • gcc14-g++- Compilateur C++

  • gcc14-gfortran- Compilateur Fortran

Exemple d'utilisation :

gcc14-gcc -o myprogram myprogram.c gcc14-g++ -o mycppprogram mycppprogram.cpp gcc14-gfortran -o myfortranprogram myfortranprogram.f90

Vous pouvez vérifier la version installée en exécutant :

gcc14-gcc --version

Cela affichera des informations de version similaires à : gcc14-gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)

Note

Les GCC versions 11 et GCC 14 peuvent être installées simultanément sur le même système. Les gfortran commandes par défaut gccg++, et continueront d'utiliser GCC 11, tandis que GCC 14 est accessible via les commandes spécifiques à la version.

Comparaison des versions linguistiques standard

Le tableau suivant compare les versions linguistiques standard par défaut entre différentes versions d'Amazon Linux et versions de GCC compilateur :

Version d'Amazon Linux C Standard (par défaut) C++ Standard (par défaut) Norme Fortran
AL2 avec GCC 7 (par défaut) C11 (201112L) C++14 (201402L) Fortran 2008
AL2 avec GCC 10 (facultatif) C17/C18 (201710L) C++14 (201402L) Fortran 2008
AL2023 avec GCC 11 (par défaut) C17/C18 (201710L) C++17 (201703L) Fortran 2008
AL2023 avec GCC 14 (facultatif) C17/C18 (201710L) C++17 (201703L) Fortran 2008

Principales améliorations par GCC version :

  • GCC10 contre GCC 7 : mise à niveau de la norme C par défaut de C11 à C17/C18, prise en charge supplémentaire des fonctionnalités C++20 et capacités d'optimisation améliorées.

  • GCC11 contre GCC 10 : mise à niveau de la norme C ++ par défaut de C ++ 14 à C ++ 17, amélioration de la prise en charge du C ++ 20 et ajout de fonctionnalités expérimentales C ++ 23.

  • GCC14 contre GCC 11 : Ajout du support complet de la norme C23, fonctionnalités C++23 améliorées, optimisation améliorée et meilleure conformité aux normes.

Normes linguistiques prises en charge :

  • Normes C : Toutes les versions sont compatibles avec les normes C90, C99, C11 et C17/C18. GCC10+ prend en charge le C2x (brouillon C23), tandis que le GCC 14 fournit un support C23 complet.

  • Normes C++ : Toutes les versions sont compatibles avec C++98, C++03, C++11, C++14, C++17 et C++20. GCC11+ fournit un support expérimental en C++23, dont GCC 14 offrent des fonctionnalités C++23 améliorées.

  • Standards Fortran : Toutes les versions sont principalement compatibles avec Fortran 2008, avec différents niveaux de fonctionnalités de Fortran 2018 en fonction de la version. GCC

Note

Bien que les normes par défaut restent cohérentes entre GCC 11 et 14, la version GCC 14 fournit une prise en charge des fonctionnalités linguistiques nettement améliorée, une meilleure optimisation, des diagnostics améliorés et une mise en œuvre plus complète des nouvelles normes lorsque cela est explicitement demandé à l'aide d'-std=indicateurs.