

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# C,C\$1\$1, dan Fortran di AL2 023
<a name="c-cplusplus"></a>

AL2023 mencakup GNU Compiler Collection (GCC) dan Clang frontend untuk LLVM (Low Level Virtual Machine).

Versi utama GCC akan tetap konstan sepanjang waktu hidup AL2 023. Rilis minor membawa perbaikan bug dan mungkin disertakan dalam rilis AL2 023. Perbaikan bug, kinerja, dan keamanan lainnya mungkin di-backport ke versi utama yang dikirimkan pada GCC 023. AL2

 AL2023 menyertakan versi 11 GCC sebagai kompiler default dengan frontend C (`gcc`), C\$1\$1 (), dan Fortran (`g++`). `gfortran` Selain itu, AL2 023 menyediakan GCC versi 14 sebagai kompiler alternatif opsional yang dapat diinstal bersama versi default. 

 AL2023 tidak mengaktifkan frontend (), Ada (`gnat`), Go Objective-C, atau Objective-C\$1\$1. `gcc-go` 

 Flag compiler default yang AL2 023 RPMs dibangun dengan menyertakan flag optimasi dan pengerasan. Untuk membuat kode Anda sendiri dengan GCC, kami sarankan Anda menyertakan flag pengoptimalan dan pengerasan. 

**catatan**  
Ketika `gcc --version` dipanggil, string versi seperti `gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)` ditampilkan. `Red Hat`mengacu pada [cabang vendor GCC](https://gcc.gnu.org/gitwrite.html#vendor) yang menjadi dasar paket Amazon Linux GCC. Menurut URL laporan bug yang ditunjukkan oleh`gcc --help`, semua laporan bug dan permintaan dukungan harus diarahkan ke Amazon Linux.  
Untuk informasi selengkapnya tentang beberapa perubahan jangka panjang di cabang vendor ini, seperti `__GNUC_RH_RELEASE__` makro, lihat sumber paket [Fedora](https://src.fedoraproject.org/rpms/gcc/pull-request/27).

Untuk informasi lebih lanjut tentang toolchain inti, lihat[Paket rantai alat intiglibc,, gcc binutils](core-glibc.md).

Untuk informasi lebih lanjut tentang AL2 023 dan hubungannya dengan distribusi Linux lainnya, lihat. [Hubungan dengan Fedora](relationship-to-fedora.md)

Untuk informasi lebih lanjut tentang perubahan triplet kompiler di AL2 023 dibandingkan dengan, lihat. AL2 [Kompiler Triplet](compare-with-al2.md#compiler-triplet)

**Topics**
+ [GCC14](#gcc14)
+ [Perbandingan Versi Standar Bahasa](#language-standards-comparison)

## GCC14
<a name="gcc14"></a>

 AL2023 menyediakan GCC 14 sebagai kompiler opsional yang dapat diinstal bersama default GCC 11. GCC14 mencakup fitur dan pengoptimalan bahasa terbaru, sehingga cocok untuk proyek yang membutuhkan dukungan standar C, C \$1\$1, atau Fortran yang lebih baru. 

Untuk menginstal GCC 14, gunakan perintah berikut:

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

 Kompiler GCC 14 diinstal dengan nama perintah khusus versi untuk menghindari konflik dengan default 11: GCC 
+ `gcc14-gcc`- Kompiler C
+ `gcc14-g++`- Kompiler C \$1\$1
+ `gcc14-gfortran`- Kompiler Fortran

Contoh penggunaan:

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

 Anda dapat memverifikasi versi yang diinstal dengan menjalankan: 

```
gcc14-gcc --version
```

 Ini akan menampilkan informasi versi yang mirip dengan: `gcc14-gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)` 

**catatan**  
 Baik GCC 11 dan GCC 14 dapat diinstal secara bersamaan pada sistem yang sama. `gfortran`Perintah default `gcc``g++`,, dan akan terus menggunakan GCC 11, sementara GCC 14 diakses melalui perintah khusus versi. 

## Perbandingan Versi Standar Bahasa
<a name="language-standards-comparison"></a>

 Tabel berikut membandingkan versi standar bahasa default di berbagai versi Amazon Linux dan versi GCC kompiler: 


| Versi Amazon Linux | C Standar (Default) | C \$1\$1 Standar (Default) | Standar Fortran | 
| --- | --- | --- | --- | 
| AL2 dengan GCC 7 (default) | C11 (201112L) | C\$1\$114 (201402L) | Fortran 2008 | 
| AL2 dengan GCC 10 (opsional) | C17/C18 (201710L) | C\$1\$114 (201402L) | Fortran 2008 | 
| AL2023 dengan GCC 11 (default) | C17/C18 (201710L) | C\$1\$117 (201703L) | Fortran 2008 | 
| AL2023 dengan GCC 14 (opsional) | C17/C18 (201710L) | C\$1\$117 (201703L) | Fortran 2008 | 

 **Perbaikan utama berdasarkan GCC versi:** 
+  **GCC10 vs GCC 7:** Standar C default yang ditingkatkan dari C11 ke C17/C18, menambahkan dukungan untuk fitur C \$1\$1 20, dan meningkatkan kemampuan pengoptimalan. 
+  **GCC11 vs GCC 10:** Standar C \$1\$1 default yang ditingkatkan dari C \$1\$1 14 ke C \$1\$1 17, dukungan C\$1\$120 yang ditingkatkan, dan menambahkan fitur C \$1\$1 23 eksperimental. 
+  **GCC14 vs GCC 11:** Menambahkan dukungan standar C23 penuh, fitur C\$1\$123 yang ditingkatkan, pengoptimalan yang ditingkatkan, dan kepatuhan standar yang lebih baik. 

 **Standar bahasa yang didukung:** 
+  **C Standar:** Semua versi mendukung C90, C99, C11, dan C17/C18. GCC10\$1 mendukung C2x (draft C23), sementara GCC 14 memberikan dukungan C23 penuh. 
+  **Standar C \$1\$1:** Semua versi mendukung C \$1\$1 98, C \$1\$1 03, C \$1\$111, C \$1\$114, C \$1\$1 17, dan C \$1\$1 20. GCC11\$1 menyediakan dukungan eksperimental C\$1\$123, dengan GCC 14 menawarkan fitur C\$1\$123 yang disempurnakan. 
+  **Standar Fortran:** Semua versi terutama mendukung Fortran 2008, dengan berbagai tingkat fitur Fortran 2018 tergantung pada versinya. GCC 

**catatan**  
 Sementara standar default tetap konsisten antara GCC 11 dan 14, GCC 14 memberikan dukungan fitur bahasa yang ditingkatkan secara signifikan, pengoptimalan yang lebih baik, diagnostik yang ditingkatkan, dan implementasi yang lebih lengkap dari standar yang lebih baru ketika diminta secara eksplisit menggunakan flag. `-std=` 