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 GCCgcc --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 Cgcc14-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=