Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
C,C++, dan Fortran di AL2 023
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++ (), 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++. 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 GCCgcc --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
Untuk informasi lebih lanjut tentang toolchain inti, lihatPaket toolchain inti glibc, gcc, binutils.
Untuk informasi lebih lanjut tentang AL2 023 dan hubungannya dengan distribusi Linux lainnya, lihat. Hubungan dengan Fedora
Untuk informasi lebih lanjut tentang perubahan triplet kompiler di AL2 023 dibandingkan dengan, lihat. AL2 Kompiler Triplet
GCC14
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 ++, 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 Cgcc14-g++
- Kompiler C ++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
Tabel berikut membandingkan versi standar bahasa default di berbagai versi Amazon Linux dan versi GCC kompiler:
Versi Amazon Linux | C Standar (Default) | C ++ Standar (Default) | Standar Fortran |
---|---|---|---|
AL2 dengan GCC 7 (default) | C11 (201112L) | C++14 (201402L) | Fortran 2008 |
AL2 dengan GCC 10 (opsional) | C17/C18 (201710L) | C++14 (201402L) | Fortran 2008 |
AL2023 dengan GCC 11 (default) | C17/C18 (201710L) | C++17 (201703L) | Fortran 2008 |
AL2023 dengan GCC 14 (opsional) | C17/C18 (201710L) | C++17 (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 ++ 20, dan meningkatkan kemampuan pengoptimalan.
-
GCC11 vs GCC 10: Standar C ++ default yang ditingkatkan dari C ++ 14 ke C ++ 17, dukungan C++20 yang ditingkatkan, dan menambahkan fitur C ++ 23 eksperimental.
-
GCC14 vs GCC 11: Menambahkan dukungan standar C23 penuh, fitur C++23 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+ mendukung C2x (draft C23), sementara GCC 14 memberikan dukungan C23 penuh.
-
Standar C ++: Semua versi mendukung C ++ 98, C ++ 03, C ++11, C ++14, C ++ 17, dan C ++ 20. GCC11+ menyediakan dukungan eksperimental C++23, dengan GCC 14 menawarkan fitur C++23 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=