기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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=
플래그를 사용하여 명시적으로 요청할 때 언어 기능 지원, 최적화 개선, 진단 개선 및 최신 표준의 보다 완전한 구현을 제공합니다.