gccrs akan disepadukan ke dalam GCC 13

gccrs

gccrs ialah pelaksanaan alternatif lengkap bahasa Rust berbanding GCC

Ia baru-baru ini mendedahkan bahawa projek gccrs, yang matlamatnya adalah untuk menyediakan antara muka untuk bahasa Rust kepada GCC (GNU Compiler Collection), sedang dalam perjalanan untuk disepadukan ke dalam GCC 13.  Pada persidangan pemaju FOSDEM awal bulan ini, jurutera Arthur Cohen memberikan pembentangan tentang gccrs yang menggariskan keadaan semasa kerja.

Bagi mereka yang tidak mengetahui projek gccrs, mereka harus tahu bahawa ini adalah pelaksanaan alternatif lengkap bahasa Rust di atas GCC dengan matlamat untuk menjadi rantai alat GNU sepenuhnya.

Asal projek ini adalah usaha komuniti beberapa tahun yang lalu, semasa Rust masih pada versi 0.9; bahasa yang dicipta oleh Mozilla tertakluk kepada banyak perubahan sehingga menjadi sukar bagi usaha komuniti untuk mengejarnya.

Memandangkan bahasa itu stabil, tiba masanya untuk mencipta penyusun alternatif:

“Bermula pada 2014 (dan dilancarkan semula pada 2019), usaha itu berterusan sejak 2020 dan kami telah melakukan banyak usaha dan banyak kemajuan. Kami telah memuat naik versi pertama gccrs di dalam GCC. Jadi kali seterusnya anda memasang GCC 13, ia akan mempunyai gccrs di dalamnya.

Anda boleh menggunakannya dan anda boleh mula menggodamnya, anda boleh melaporkan masalah apabila ia pasti ranap dan mati dengan teruk. Satu perkara besar yang kami lakukan ialah berusaha untuk menjadikan suite ujian rustc berfungsi,” kata Arthur Cohen semasa pembentangannya di persidangan FOSDEM awal bulan ini.

Keupayaan untuk berjaya menjalankan suite ujian pengkompil rustc juga kekal sebagai matlamat. Menurut Cohen, Antara muka GCC Rust juga menunjuk kepada Rust libcore 1.49 yang lebih lama.

Soalan Lazim projek gccrs menyatakan bahawa semua teknologi binaan LLVM, yang digunakan oleh Rust, "tidak mempunyai beberapa bahagian belakang yang serasi dengan GCC, jadi pelaksanaan gccrs boleh mengisi jurang untuk digunakan dalam pembangunan terbenam".

Walau bagaimanapun, ambil perhatian bahawa pengkompil Rust-GCC (gccrs) masih dalam peringkat awal dan belum boleh digunakan untuk menyusun atur cara Rust sebenar.

Pasukan GCC mengundi Julai lalu untuk meluluskan penyepaduan gccrs sebagai suite binaan. Kepentingan projek ini terletak pada kepentingannya kepada kernel Linux. Sebenarnya, kernel Linux biasanya dibina dengan GCC, tetapi rancangan untuk membenarkan bahasa Rust digunakan bersama C untuk kod kernel, atas sebab keselamatan ingatan, sedang berkembang pesat.

Projek "Rust for Linux" secara rasmi digabungkan ke dalam pokok Linux 6.1 Git utama Oktober lalu, menjadikan Rust bahasa kedua yang didedikasikan untuk pembangunan Linux, selepas 31 tahun pembangunan berasaskan C secara eksklusif.

“Kami mahu gccrs menjadi pengkompil Rust sejati dan bukan projek mainan atau sesuatu yang menyusun bahasa yang kelihatan seperti Rust tetapi bukan Rust; kami benar-benar berusaha untuk menjadikan suite ujian ini berfungsi,” tambahnya. Semasa pembentangan, Cohen juga berkata walaupun antara muka Rust GCC 13 bermula dengan baik, masih banyak kerja yang perlu dilakukan. Kod pengesahan yang dipinjam tidak hadir dengan ketara pada masa ini, sokongan untuk modul terbina dalam dan intrinsik masih berterusan, dan peristiwa penting dalam menyusun kod Rust untuk Linux masih belum dicapai.

Sebagai peringatan, projek "Rust for Linux" bertujuan untuk memperkenalkan bahasa pengaturcaraan sistem baharu ke dalam kernel Linux. Menurut pakar, bahasa Rust mempunyai ciri utama yang menjadikannya sangat menarik untuk dipertimbangkan sebagai bahasa kedua kernel Linux: ia memastikan tiada tingkah laku yang tidak ditentukan berlaku (selagi kod yang tidak selamat adalah waras).

Ini termasuk ketiadaan ralat seperti penggunaan selepas bebas, percuma berganda, perlumbaan data, dsb. Perdebatan berkaitan berkisar tentang kemungkinan membuang C demi bahasa Rust. Tetapi Linus Torvalds, pencipta Linux, berkata itu bukan matlamat yang dinyatakan untuk projek Rust untuk Linux.

Akhirnya, Perlu dinyatakan bahawa walaupun antara muka gccrs telah digabungkan untuk versi GCC 13 yang seterusnya, ia belum berada dalam keadaan di mana kebanyakan pembangun Rust sebenarnya boleh menggunakannya sebagai alternatif kepada pengkompil LLVM rasmi Rust.

Ia tidak sepatutnya sehingga tahun depan, sekurang-kurangnya dengan GCC 14 sekurang-kurangnya.

Fuente: https://fosdem.org/


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.