CC++, e Fortran nel AL2 2023 - Amazon Linux 2023

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CC++, e Fortran nel AL2 2023

AL2023 include sia la GNU Compiler Collection (GCC) che il Clang frontend per LLVM (Low Level Virtual Machine).

La versione principale di 023 GCC rimarrà costante per tutta la durata di vita di 023. AL2 Le versioni minori apportano correzioni di bug e potrebbero essere incluse nelle versioni AL2 023. Altre correzioni di bug, prestazioni e sicurezza potrebbero essere riportate nella versione principale disponibile nella 023. GCC AL2

AL2023 include la versione 11 di GCC come compilatore predefinito con i frontend C (gcc), C++ () e Fortran (g++). gfortran Inoltre, AL2 023 fornisce la GCC versione 14 come compilatore alternativo opzionale che può essere installato insieme alla versione predefinita.

AL2023 non abilita i frontend Ada (gnat), Go (gcc-go), Objective-C o Objective-C++.

I flag predefiniti del compilatore con cui è stato creato 023 includono i flag di ottimizzazione e rafforzamento AL2. RPMs Per creare il tuo codice con GCC, ti consigliamo di includere flag di ottimizzazione e rafforzamento.

Nota

Quando gcc --version viene richiamato, viene visualizzata una stringa di versione come gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4). Red Hat si riferisce al ramo del fornitore GCC su cui si basa il pacchetto di Amazon Linux GCC. In base all'URL di segnalazione dei bug mostrato dagcc --help, tutte le segnalazioni di bug e le richieste di supporto devono essere indirizzate ad Amazon Linux.

Per maggiori informazioni su alcune delle modifiche a lungo termine in questo ramo del fornitore, come la __GNUC_RH_RELEASE__ macro, vedi i sorgenti dei pacchetti Fedora.

Per ulteriori informazioni sulla toolchain di base, vedere. Pacchetti principali della toolchain glibc, gcc, binutils

Per ulteriori informazioni su AL2 023 e sulla sua relazione con altre distribuzioni Linux, vedere. Relazione con Fedora

Per ulteriori informazioni sulla variazione della tripletta del compilatore in AL2 023 rispetto a, vedere. AL2 Tripletta del compilatore

GCC14

AL2023 fornisce GCC 14 come compilatore opzionale che può essere installato insieme all'11 predefinitoGCC. GCC14 include le funzionalità e le ottimizzazioni più recenti del linguaggio, il che lo rende adatto a progetti che richiedono il supporto degli standard C, C++ o Fortran più recenti.

Per installare GCC 14, usa il seguente comando:

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

I GCC 14 compilatori vengono installati con nomi di comando specifici della versione per evitare conflitti con l'11 predefinito: GCC

  • gcc14-gcc- compilatore C

  • gcc14-g++- compilatore C++

  • gcc14-gfortran- compilatore Fortran

Esempio di utilizzo:

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

È possibile verificare la versione installata eseguendo:

gcc14-gcc --version

Verranno visualizzate informazioni sulla versione simili a: gcc14-gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)

Nota

La GCC versione 11 e la GCC 14 possono essere installate contemporaneamente sullo stesso sistema. I gfortran comandi predefiniti gcc e continueranno a utilizzare GCC 11, mentre GCC 14 è accessibile tramite i comandi specifici della versione. g++

Confronto tra le versioni linguistiche standard

La tabella seguente confronta le versioni standard del linguaggio predefinito tra diverse versioni di Amazon Linux e versioni del GCC compilatore:

Versione di Amazon Linux C Standard (impostazione predefinita) Standard C++ (impostazione predefinita) Norma Fortran
AL2 con GCC 7 (impostazione predefinita) C11 (201112L) C+14 (2014-02 L) Fortran 2008
AL2 con GCC 10 (opzionale) C17/C18 (201710L) C++ 14 (2014-02 L) Fortran 2008
AL2023 con GCC 11 (impostazione predefinita) C17/C18 (201710L) C++ 17 (201703 L) Fortran 2008
AL2023 con GCC 14 (opzionale) C17/C18 (201710L) C++ 17 (201703 L) Fortran 2008

Principali miglioramenti per versione: GCC

  • GCC10 vs GCC 7: standard C predefinito aggiornato da C11 a C17/C18, aggiunto supporto per le funzionalità di C++20 e funzionalità di ottimizzazione migliorate.

  • GCC11 vs GCC 10: standard C++ predefinito aggiornato da C++14 a C++17, supporto C++20 migliorato e funzionalità sperimentali di C++23.

  • GCC14 vs GCC 11: aggiunto il supporto completo dello standard C23, funzionalità C++23 migliorate, ottimizzazione migliorata e migliore conformità agli standard.

Standard linguistici supportati:

  • Standard C: tutte le versioni supportano C90, C99, C11 e C17/C18. GCC10+ supporta C2x (bozza C23), mentre 14 fornisce il supporto completo per C23. GCC

  • Standard C++: tutte le versioni supportano C++98, C++03, C++11, C++14, C++17 e C++20. GCC11+ fornisce supporto sperimentale per C++23, con 14 che offrono funzionalità C++23 avanzate. GCC

  • Standard Fortran: tutte le versioni supportano principalmente Fortran 2008, con diversi livelli di funzionalità di Fortran 2018 a seconda della versione. GCC

Nota

Sebbene gli standard predefiniti rimangano coerenti tra GCC 11 e 14, GCC 14 offre un supporto delle funzionalità linguistiche notevolmente migliorato, una migliore ottimizzazione, una diagnostica migliorata e un'implementazione più completa degli standard più recenti quando richiesto esplicitamente utilizzando i flag. -std=