AL2023의 C, C++, 및 Fortran - Amazon Linux 2023

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AL2023의 C, C++, 및 Fortran

AL2023에는 GNU 컴파일러 컬렉션(GCC)과 저사양 가상 머신(LLVM) Clang 프론트엔드 모두 포함되어 있습니다.

GCC 주요 버전은 AL2023이 지원 종료되기 전까지 계속 사용할 수 있습니다. 마이너 릴리스에 버그 수정이 포함되어 있으며 이는 AL2023 릴리스에 포함될 수 있습니다. 기타 버그, 성능 및 보안 수정 사항은 AL2023에 설치된 GCC의 주요 버전으로 백포트될 수 있습니다.

AL2023에는 C(gcc), C++(g++) 및 Fortran(gfortran) 프론트엔드가 있는 기본 컴파일러로 GCC 버전 11이 포함되어 있습니다. 또한 AL2023은 기본 버전과 함께 설치할 수 있는 선택적 대체 컴파일러로 GCC 버전 14를 제공합니다.

AL2023에서 Ada(gnat), Go(gcc-go), Objective-C 또는 Objective-C++ 프론트엔드를 활성화할 수 없습니다.

AL2023 RPM이 빌드되는 기본 컴파일러 플래그에는 최적화 및 하드닝 플래그가 포함되어 있습니다. GCC로 자체 코드를 빌드하려면 최적화 및 하드닝 플래그를 포함하는 것이 좋습니다.

참고

gcc --version을 호출하면 gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4) 같은 버전 문자열이 표시됩니다. Red Hat은 Amazon Linux GCC 패키지의 기반이 되는 GCC 공급업체 지점을 나타냅니다. gcc --help에 표시된 버그 보고서 URL에 따라 모든 버그 신고 및 지원 요청은 Amazon Linux로 전달해야 합니다.

__GNUC_RH_RELEASE__ 매크로와 같은 이 공급업체 브랜치의 일부 장기 변경 사항에 대한 자세한 내용은 Fedora 패키지 소스 섹션을 참조하세요.

핵심 도구 체인에 대한 자세한 내용은 코어 툴체인 패키지 glibc, gcc 및 binutils 섹션을 참조하세요.

AL2023과 다른 Linux 배포판과의 관계에 대한 자세한 내용은 Fedora와의 관계 섹션을 참조하세요.

AL2와 비교한 AL2023 컴파일러 트리플렛 변경 사항에 대한 자세한 내용은 컴파일러 트리플렛 섹션을 참조하세요.

GCC 14

AL2023은 기본 GCC 11과 함께 설치할 수 있는 선택적 컴파일러로 GCC 14를 제공합니다. GCC 14에는 최신 언어 기능 및 최적화가 포함되어 있으므로 최신 C, C++ 또는 Fortran 표준 지원이 필요한 프로젝트에 적합합니다.

GCC 14를 설치하려면 다음 명령을 사용하세요.

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

GCC 14 컴파일러는 기본 GCC 11과 충돌하지 않도록 버전별 명령 이름과 함께 설치됩니다.

  • gcc14-gcc - C 컴파일러

  • gcc14-g++ - C++ 컴파일러

  • gcc14-gfortran - Fortran 컴파일러

사용 예:

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

다음을 실행하여 설치한 버전을 검증합니다.

gcc14-gcc --version

그러면 gcc14-gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)과 유사한 버전 정보가 표시됩니다.

참고

GCC 11과 GCC 14를 모두 동일한 시스템에 동시에 설치할 수 있습니다. 기본 gcc, g++gfortran 명령은 GCC 11을 계속 사용하는 반면, GCC 14에는 버전별 명령을 통해 액세스해야 합니다.

언어 표준 버전 비교

다음 표에서는 다양한 Amazon Linux 버전과 GCC 컴파일러 버전을 대상으로 기본 언어 표준 버전을 비교합니다.

Amazon Linux 버전 C 표준(기본값) C++ 표준(기본값) Fortran 표준
GCC 7을 포함한 AL2(기본값) C11(201112L) C++14(201402L) Fortran 2008
GCC 10을 포함한 AL2(선택 사항) C17/C18(201710L) C++14(201402L) Fortran 2008
GCC 11을 포함한 AL2023(기본) C17/C18(201710L) C++17(201703L) Fortran 2008
GCC 14를 포함한 AL2023(선택 사항) C17/C18(201710L) C++17(201703L) Fortran 2008

GCC 버전별 주요 개선 사항:

  • GCC 10 및 GCC 7: 기본 C 표준을 C11에서 C17/C18로 업그레이드하고, C++20 기능에 대한 지원을 추가하고, 최적화 기능을 개선했습니다.

  • GCC 11 및 GCC 10: 기본 C++ 표준을 C++14에서 C++17로 업그레이드하고, C++20 지원을 강화하고, 실험적 C++23 기능을 추가했습니다.

  • GCC 14 및 GCC 11: 전체 C23 표준 지원, 향상된 C++23 기능, 향상된 최적화, 향상된 표준 규정 준수가 추가되었습니다.

지원되는 언어 표준:

  • C 표준: 모든 버전은 C90, C99, C11 및 C17/C18을 지원합니다. GCC 10+는 C2x(C23 초안)를 지원하는 반면, GCC 14는 전체 C23 지원을 제공합니다.

  • C++ 표준: 모든 버전은 C++98, C++03, C++11, C++14, C++17 및 C++20을 지원합니다. GCC 11+는 실험적 C++23 지원을 제공하며, GCC 14는 향상된 C++23 기능을 제공합니다.

  • Fortran 표준: 모든 버전은 주로 Fortran 2008을 지원하며, GCC 버전에 따라 다양한 수준의 Fortran 2018 기능을 제공합니다.

참고

기본 표준은 GCC 11~14 사이에서 일관되게 유지되지만, GCC 14는 -std= 플래그를 사용하여 명시적으로 요청할 때 언어 기능 지원, 최적화 개선, 진단 개선 및 보다 완전한 최신 표준 구현을 제공합니다.