기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AL2023의 C, C++, 및 Fortran
AL2023에는 GNU 컴파일러 컬렉션(GCC)과의 Clang 프런트엔드LLVM(저레벨 가상 머신)가 모두 포함되어 있습니다.
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모든 버그 보고서 및 지원 요청은 Amazon Linux로 전달되어야 합니다.
__GNUC_RH_RELEASE__ 매크로와 같은이 공급업체 브랜치의 일부 장기 변경 사항에 대한 자세한 내용은 Fedora 패키지 소스를
코어 도구 체인에 대한 자세한 내용은 섹션을 참조하세요코어 툴체인 패키지 glibc, gcc 및 binutils.
AL2023 및 다른 Linux 배포판과의 관계에 대한 자세한 내용은 섹션을 참조하세요Fedora와의 관계.
AL2와 비교한 AL2023의 컴파일러 트리플릿 변경에 대한 자세한 내용은 섹션을 AL2참조하세요컴파일러 트리플렛.
GCC 14
AL2023은 기본 GCC 11과 함께 설치할 수 있는 선택적 컴파일러로 GCC 14를 제공합니다. GCC 14에는 최신 언어 기능 및 최적화가 포함되어 있으므로 최신 C, C++ 또는 Fortran 표준 지원이 필요한 프로젝트에 적합합니다.
GCC 14를 설치하려면 다음 명령을 사용합니다.
sudo dnf install gcc14 gcc14-c++ gcc14-gfortran
14개의 GCC 컴파일러는 기본값 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 표준 |
|---|---|---|---|
| AL2 with GCC 7(기본값) | C11(201112L) | C++14(201402L) | Fortran 2008 |
| AL2 with GCC 10(선택 사항) | C17/C18(201710L) | C++14(201402L) | Fortran 2008 |
| AL2023GCC, 11(기본값) | C17/C18(201710L) | C++17(201703L) | Fortran 2008 |
| AL2023과 GCC 14(선택 사항) | 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= 플래그를 사용하여 명시적으로 요청할 때 언어 기능 지원, 최적화 개선, 진단 개선 및 최신 표준의 보다 완전한 구현을 제공합니다.