C,C++, e Fortran em AL2 203 - Amazon Linux 2023

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

C,C++, e Fortran em AL2 203

AL2023 inclui tanto o GNU Compiler Collection (GCC) quanto o Clang frontend para LLVM (Low Level Virtual Machine).

A versão principal do GCC permanecerá constante durante toda a vida útil de AL2 023. Versões menores trazem correções de bugs e podem ser incluídas nas versões AL2 023. Outras correções de bugs, desempenho e segurança podem ser transferidas para a versão principal GCC que vem em AL2 023.

AL2O 023 inclui a versão 11 do GCC como compilador padrão com os front-ends C (gcc), C++ (g++) e Fortran (). gfortran Além disso, o AL2 023 fornece a GCC versão 14 como um compilador alternativo opcional que pode ser instalado junto com a versão padrão.

AL2O 023 não habilita os front-ends Ada (gnat), Go (gcc-go), Objective-C ou Objective-C++.

Os sinalizadores padrão do compilador com os quais o AL2 023 RPMs é construído incluem sinalizadores de otimização e fortalecimento. Para criar seu próprio código com o GCC, recomendamos que você inclua sinalizadores de otimização e fortalecimento.

nota

Quando gcc --version é invocado, uma string de versão como gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) é exibida. Red Hat refere-se à filial do fornecedor do GCC na qual o pacote Amazon Linux GCC se baseia. De acordo com o URL do relatório de bugs exibido porgcc --help, todos os relatórios de bugs e solicitações de suporte devem ser direcionados para o Amazon Linux.

Para obter mais informações sobre algumas das mudanças de longo prazo nessa ramificação do fornecedor, como a __GNUC_RH_RELEASE__ macro, consulte Fontes de pacotes do Fedora.

Para obter mais informações sobre o conjunto de ferramentas principal, consultePacotes principais do conjunto de ferramentas glibc, gcc, binutils.

Para obter mais informações sobre o AL2 023 e sua relação com outras distribuições Linux, consulte. Relacionamento com o Fedora

Para obter mais informações sobre a alteração do tripleto do compilador em AL2 023 em comparação com, consulte. AL2 Compilador Triplet

GCC14

AL2023 fornece GCC 14 como um compilador opcional que pode ser instalado junto com o 11 padrãoGCC. GCCO 14 inclui os recursos e otimizações de linguagem mais recentes, tornando-o adequado para projetos que exigem suporte mais recente aos padrões C, C++ ou Fortran.

Para instalar o GCC 14, use o seguinte comando:

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

Os GCC 14 compiladores são instalados com nomes de comando específicos da versão para evitar conflitos com o 11 padrão: GCC

  • gcc14-gcc- Compilador C

  • gcc14-g++- Compilador C++

  • gcc14-gfortran- Compilador Fortran

Exemplo de uso:

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

Você pode verificar a versão instalada executando:

gcc14-gcc --version

Isso exibirá informações de versão semelhantes a: gcc14-gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)

nota

Tanto o GCC 11 quanto o GCC 14 podem ser instalados simultaneamente no mesmo sistema. Os gfortran comandos padrão gccg++, e continuarão usando GCC 11, enquanto GCC 14 é acessado por meio dos comandos específicos da versão.

Comparação de versões padrão de idioma

A tabela a seguir compara as versões padrão do idioma padrão em diferentes versões do Amazon Linux e versões do GCC compilador:

Versão Amazon Linux Padrão C (padrão) Padrão C ++ (padrão) Padrão Fortran
AL2 com GCC 7 (padrão) C11 (201112L) C++ 14 (201402L) Fortran 2008
AL2 com GCC 10 (opcional) C17/C18 (201710L) C++ 14 (201402L) Fortran 2008
AL2023 com GCC 11 (padrão) C17/C18 (201710L) C++ 17 (201703L) Fortran 2008
AL2023 com GCC 14 (opcional) C17/C18 (201710L) C++ 17 (201703L) Fortran 2008

Principais melhorias por GCC versão:

  • GCC10 vs GCC 7: padrão C padrão atualizado de C11 para C17/C18, suporte adicional para recursos do C++20 e recursos de otimização aprimorados.

  • GCC11 vs GCC 10: atualizou o padrão C++ padrão de C++14 para C++17, suporte aprimorado ao C++20 e adicionou recursos experimentais do C++23.

  • GCC14 contra GCC 11: Foi adicionado suporte completo ao padrão C23, recursos aprimorados do C++23, otimização aprimorada e melhor conformidade com os padrões.

Padrões de idioma suportados:

  • Padrões C: Todas as versões suportam C90, C99, C11 e C17/C18. GCC10+ suporta C2x (rascunho C23), enquanto GCC 14 fornece suporte C23 completo.

  • Padrões C++: Todas as versões oferecem suporte a C++98, C++03, C++11, C++14, C++17 e C++20. GCCO 11+ fornece suporte experimental ao C++23, com GCC 14 oferecendo recursos aprimorados do C++23.

  • Padrões Fortran: Todas as versões oferecem suporte principalmente ao Fortran 2008, com níveis variados de recursos do Fortran 2018, dependendo da versão. GCC

nota

Embora os padrões padrão permaneçam consistentes entre GCC 11 e 14, o GCC 14 fornece suporte significativamente aprimorado a recursos de linguagem, melhor otimização, diagnósticos aprimorados e implementação mais completa de padrões mais novos quando solicitados explicitamente usando sinalizadores. -std=