Versi baru 9.1 pengkompil GCC telah dilancarkan

gcc-penyusun-9.1

Versi baru penyusun GCC ini disediakan beberapa hari yang lalu dengan ciri baru dan pembetulan pepijat.

Menurut pasukan projek GNU GCC, versi baru ini, versi 9.1 adalah versi penyusun utama Mengandungi ciri-ciri baru yang penting yang tidak terdapat dalam GCC 8.x atau versi sebelumnya. GCC 9.1 harus membawa ciri bahasa baru, pengoptimuman baru dan beberapa peningkatan prestasi pada perisian.

Mengenai GCC

GCC adalah koleksi penyusun dibuat oleh projek GNU. Ia lebih tepatnya perisian percuma mampu menyusun pelbagai bahasa pengaturcaraan, termasuk C, C ++, Objective-C, Java, Ada, dan Fortran.

Perlu juga diperhatikan bahawa digunakan untuk pembangunan perisian percuma. Keluaran kompilator utama terbaru bermula pada Mei 2018, versi 8.1.

Jakub Jelinek, pembangun Red Hat, menjelaskan bahawa GCC 8.1 mewakili pelepasan utama yang membawa ciri baru penting yang tidak terdapat dalam GCC 7.x dan versi GCC yang lebih lama.

Pada ketika ini, bahagian depan C ++ telah memberikan sokongan eksperimental untuk beberapa fungsi C ++ 2a dengan pilihan -std = c ++ 2a dan -std = gnu ++ 2a.

Dalam versi 8.2 pada tahap peningkatan umum, masalah prestasi LTO (Pengoptimuman Waktu Pautan) disebabkan oleh limpahan dalam algoritma pemisahan semasa pembuatan fail binari yang besar telah diperbaiki.

Pembaikan berterusan di cawangan 8.x dengan pembebasan penyusun versi 8.3 Februari lalu. Rilis ini adalah pelepasan bugfix yang mengandungi patch untuk regresi di GCC 8.2 berbanding dengan pelepasan GCC sebelumnya. Pasukan GCC melancarkan cabang baru pada 3 Mei, melepaskan versi 9.

Apa yang baru dalam GCC 9.1?

Dalam versi ini, Sokongan C ++ 17 diperkenalkan kerana penyusun versi 8.1 tidak lagi berpengalamanl. Oleh itu, sokongan untuk C ++ 17 kini stabil.

Antara muka C ++ menerapkan keseluruhan bahasa C ++ 17 dan sokongan untuk pustaka standard C ++ hampir selesai.

El perpustakaan front-end dan C ++ juga mempunyai banyak ciri lain yang dikodkan dari C ++ 2a. Juga, GCC mempunyai antara muka baru untuk bahasa D dan kini sebahagiannya menyokong OpenMP 5.0 dan menyatukan sokongan sepenuhnya untuk OpenACC 2.5.

Bagi banyak orang, GCC 9 adalah versi kompilator yang kuat yang memberikan ciri dan penambahbaikan yang hebat untuk meningkatkan prestasi pembangun.

Antara banyak ciri baru dalam GCC 9.1 adalah:

  • Sokongan untuk sokongan untuk menyusun kod yang ditulis dengan bahasa pengaturcaraan D;
  • Backend GPU AMD GCN baru telah ditambahkan ke GCC. Pelaksanaannya sekarang terhad untuk menyusun program single threaded.
  • LRA kini diaktifkan secara lalai untuk sasaran ARC. Ini dapat dikawal oleh -mlra.
  • Menambah sokongan untuk kod gambar dan pernyataan kepadatan cabang dan indeks.
  • Ditambah ke GCC ialah penambahan pemproses C-SKY V2 back-end yang baru.
  • Sokongan Intel MPX telah dikeluarkan.
  • Backend baru telah ditambah untuk sokongan pemproses OpenRISC.
  • Sokongan untuk spesifikasi OpenACC 2.5 hampir lengkap.
  • Pakej "selftest" dalaman GCC kini berfungsi untuk C ++ dan C (dalam versi penyusun debug).
  • Sokongan Fortran dalam GCC juga telah ditingkatkan. Sekarang ia mengendalikan I / O tidak segerak dan ciri lain.
  • Pengoptimuman Interprocedure (OPI), pengoptimuman berdasarkan profil, pengoptimuman masa pautan (LTO), serta banyak pengoptimuman lain untuk memastikan kualiti kod yang lebih baik.
  • Jumlah masa kompilasi untuk Firefox 66 dan LibreOffice 6.2.3 pada mesin 8-teras telah dikurangkan kira-kira 5% berbanding GCC 8.3. Ukuran fail objek LTO dikurangkan sebanyak 7%.
  • Masa pautan LTO meningkat sebanyak 11% pada 8 mesin teras dan berkembang secara dramatik untuk persekitaran binaan yang lebih selari. Tahap bersiri pengoptimuman masa pautan adalah 28% lebih cepat dan menghabiskan 20% lebih sedikit memori. Parallel Stage kini membahagi 128 partition dan bukannya 32 dan mengurangkan penggunaan memori untuk setiap pengguna sebanyak 30%.
  • Pilihan baru "-fdiagnostics-format = json" telah diperkenalkan untuk diagnostik dalam format yang boleh dibaca mesin.

Fuente: https://gcc.gnu.org


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.