Dalam GCC mereka meluluskan pelaksanaan RUST (gccrs)

Baru-baru ini berita itu menyahkannya Jawatankuasa Pemandu GCC telah meluluskan kemasukan pelaksanaan gccrs (GCC Rust) daripada pengkompil Rust dalam teras GCC.

Dengannya GCC (Koleksi Penyusun GNU) sudah mempunyai bahagian belakang untuk Rust, melalui projek yang dipanggil rustc_codegen_gcc yang diasaskan oleh Antoni Boucher. Ia masih digambarkan sebagai kerja sedang dijalankan, tetapi ia telah digabungkan ke dalam repositori Rust utama pada September 2021.

Bagi yang tidak tahu bahasa Karat, mereka harus tahu apa itue memberi tumpuan kepada pengurusan ingatan yang selamat dan menyediakan cara untuk mencapai keselarian kerja yang tinggi. Pengendalian ingatan yang selamat, yang mengecualikan ralat seperti mengakses kawasan memori selepas membebaskannya, membatalkan penunjuk nol dan limpahan sempadan penimbal, dicapai dalam Rust pada masa penyusunan melalui menyemak rujukan, menjejaki pemilikan objek, mengambil kira sepanjang hayat objek (skop ), dan menilai ketepatan akses memori semasa pelaksanaan kod.

Rust juga menyediakan perlindungan limpahan integer, memerlukan pembolehubah dimulakan sebelum digunakan, mengendalikan ralat dalam pustaka standard dengan lebih baik, menguatkuasakan konsep rujukan dan pembolehubah tidak berubah secara lalai.

Selepas menyepadukan antara muka, dalam GCC standard ia boleh digunakan untuk menyusun atur cara Rust tanpa perlu memasang pengkompil rustc yang dibina dengan binaan LLVM.

Sejak November 2020, saya telah bekerja sepenuh masa di bahagian hadapan Rust untuk GCC, terima kasih kepada Open Source Security, Inc dan Embecosm. Akibatnya, saya menulis ke senarai mel ini untuk mendapatkan maklum balas daripada pengalaman kolektif di sini lebih awal untuk merancang laluan untuk memuat naik bahagian hadapan ke GCC.

Kepentingan projek ini ialah kepentingannya kepada Linux, biasanya dibina dengan GCC, di mana rancangan untuk membenarkan Rust digunakan bersama C untuk kod kernel, atas sebab keselamatan memori, sentiasa bergerak ke hadapan.

Ini bermakna bahawa penyusun Rust, rustc, boleh digunakan dengan bahagian belakang GCC, Bahagian belakang ialah penjana kod yang menyokong lebih banyak seni bina CPU daripada LLVM, pengkompil belakang biasa Rust, walaupun terdapat batasan, seperti memerlukan versi GCC yang ditambal.

Alternatifnya ialah mempunyai rantai alat GCC penuh. Pada Januari 2021, Open Source Security, Inc, pembuat versi keras kernel Linux yang dipanggil Grsecurity, berkata ia akan membiayai "usaha pembangunan awam" antara muka GCC untuk Rust, atas alasan ia meningkatkan keselamatan. dengan tidak mempunyai untuk mencampurkan penyusun yang berbeza.

Dari perspektif saya sebagai pemimpin dalam bahagian hadapan ini, kami pada masa ini di bawah pembangunan berat jadi ini bermakna jumlah kod berputar yang adil namun, dan saya tidak nampak perubahan ini sehingga kita berjaya menyusunnya kotak libcore akhir tahun ini. Walaupun saya suka melihat satu sama lain digabungkan ke dalam GCC 13, saya ingin memastikan projek ini berjaya untuk semua, dan ini boleh bermakna beralih semula ke tetingkap keluaran seterusnya untuk memastikan ini boleh diurus untuk menghasilkan bahagian hadapan yang berkualiti untuk duduk bersama-sama kepada orang lain.

Syarikat itu memetik kertas yang menunjukkan "bagaimana keselamatan keseluruhan persekitaran masa jalan boleh dikurangkan dengan memperkenalkan kod yang ditulis dalam Rust atau bahasa lain di mana pengkompil tidak menyediakan keselamatan peringkat binari yang sama."

pembangun gccrs digalakkan untuk mula bekerja dengan pasukan penyemak dan Keluaran Perubahan GCC untuk memuktamadkan dan meluluskan tampalan dari segi memenuhi keperluan teknikal untuk kod ditambahkan pada GCC.

Dengan mengandaikan pembangunan gccrs diteruskan seperti yang dirancang dan tiada isu yang tidak dijangka dikenal pasti, bahagian hadapan bahasa Rust akan disepadukan ke dalam keluaran GCC 13 yang dijadualkan pada Mei tahun depan. Pelaksanaan Rust dalam GCC 13 akan berada dalam status beta, belum didayakan secara lalai.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya tentang projek itu, anda boleh merujuk butiran dalam pautan berikut.


Tinggalkan komen anda

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

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  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.

  1.   qtrit kata

    Hebat, saya harap pelaksanaannya akan berguna untuk ramai pengaturcara.