

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

# AL2023의 C, C\+\+, 및 Fortran
<a name="c-cplusplus"></a>

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 공급업체 지점](https://gcc.gnu.org/gitwrite.html#vendor)을 나타냅니다. `gcc --help`에 표시된 버그 보고서 URL에 따라 모든 버그 신고 및 지원 요청은 Amazon Linux로 전달해야 합니다.  
`__GNUC_RH_RELEASE__` 매크로와 같은 이 공급업체 브랜치의 일부 장기 변경 사항에 대한 자세한 내용은 [Fedora 패키지 소스](https://src.fedoraproject.org/rpms/gcc/pull-request/27) 섹션을 참조하세요.

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

AL2023과 다른 Linux 배포판과의 관계에 대한 자세한 내용은 [Fedora와의 관계](relationship-to-fedora.md) 섹션을 참조하세요.

AL2와 비교한 AL2023 컴파일러 트리플렛 변경 사항에 대한 자세한 내용은 [컴파일러 트리플렛](compare-with-al2.md#compiler-triplet) 섹션을 참조하세요.

**Topics**
+ [GCC 14](#gcc14)
+ [언어 표준 버전 비교](#language-standards-comparison)

## GCC 14
<a name="gcc14"></a>

 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에는 버전별 명령을 통해 액세스해야 합니다.

## 언어 표준 버전 비교
<a name="language-standards-comparison"></a>

 다음 표에서는 다양한 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=` 플래그를 사용하여 명시적으로 요청할 때 언어 기능 지원, 최적화 개선, 진단 개선 및 보다 완전한 최신 표준 구현을 제공합니다.