Ang mga gccrs ay isasama sa GCC 13

gccrs

Ang gccrs ay isang kumpletong alternatibong pagpapatupad ng Rust na wika sa GCC

Kamakailan lang ay ipinahayag iyon ang proyekto ng gccrs, na ang layunin ay magbigay ng interface para sa Rust na wika sa GCC (GNU Compiler Collection), ay papunta na upang maisama sa GCC 13.  Sa FOSDEM developer conference mas maaga sa buwang ito, nagbigay ng presentasyon ang engineer na si Arthur Cohen sa mga gccrs na binabalangkas ang kasalukuyang estado ng trabaho.

Para sa mga hindi nakakaalam ng proyekto ng gccrs, dapat nilang malaman na ito ay isang kumpletong alternatibong pagpapatupad ng Rust na wika sa itaas ng GCC na may layuning maging ganap na GNU toolchain.

Ang pinagmulan ng proyektong ito ay isang pagsisikap ng komunidad ilang taon na ang nakalilipas, noong ang Rust ay nasa bersyon 0.9 pa; ang wikang nilikha ng Mozilla ay napapailalim sa napakaraming pagbabago na naging mahirap para sa isang komunidad na pagsisikap na abutin.

Ngayon na ang wika ay matatag, oras na upang lumikha ng mga alternatibong compiler:

“Nagsimula noong 2014 (at muling inilunsad noong 2019), ang pagsisikap ay nagpapatuloy mula noong 2020 at gumawa kami ng maraming pagsisikap at maraming pag-unlad. Na-upload namin ang unang bersyon ng gccrs sa loob ng GCC. Kaya sa susunod na i-install mo ang GCC 13, magkakaroon ito ng mga gccrs sa loob.

Maaari mong gamitin ito at maaari mong simulan ang pag-hack nito, maaari mong iulat ang mga problema kapag ito ay hindi maiiwasang mag-crash at mamatay nang kakila-kilabot. Ang isang malaking bagay na ginagawa namin ay nagtatrabaho sa paggawa ng rustc test suite na gumagana, "sabi ni Arthur Cohen sa kanyang pagtatanghal sa FOSDEM conference mas maaga sa buwang ito.

Ang kakayahang matagumpay na patakbuhin ang rustc compiler test suite ay nananatiling isang layunin. Ayon kay Cohen, Ang interface ng GCC ng Rust ay tumuturo din sa mas lumang Rust libcore 1.49.

Ang FAQ ng proyekto ng gccrs ay nagsasaad na ang lahat ng mga teknolohiya ng pagbuo ng LLVM, na ginagamit ng Rust, ay "kulang ang ilang mga backend na katugma sa GCC, kaya maaaring punan ng pagpapatupad ng gccrs ang mga puwang para magamit sa naka-embed na pag-unlad".

Tandaan, gayunpaman, na ang Rust-GCC compiler (gccrs) ay nasa napakaagang yugto pa rin at hindi pa magagamit upang mag-compile ng mga aktwal na programa ng Rust.

Ang pangkat ng GCC ay bumoto noong Hulyo upang aprubahan ang pagsasama ng gccrs bilang isang build suite. Ang kahalagahan ng proyektong ito ay nakasalalay sa kahalagahan nito sa Linux kernel. Sa katunayan, ang Linux kernel ay karaniwang binuo gamit ang GCC, ngunit ang mga planong payagan ang Rust na wika na magamit kasama ng C para sa kernel code, para sa mga kadahilanang pangkaligtasan ng memorya, ay patuloy na umuunlad.

Ang proyektong "Rust para sa Linux" ay opisyal na pinagsama sa pangunahing puno ng Linux 6.1 Git noong Oktubre, na ginawang Rust ang pangalawang wika na nakatuon sa pag-unlad ng Linux, pagkatapos ng 31 taon ng eksklusibong C-based na pag-unlad.

“Gusto naming ang gccrs ay maging isang tunay na Rust compiler at hindi isang laruang proyekto o isang bagay na nag-compile ng isang wika na mukhang Rust ngunit hindi Rust; we are really trying to make this test suite work,” he added. Sa panahon ng pagtatanghal, sinabi rin ni Cohen na habang ang Rust interface ng GCC 13 ay nasa magandang simula, marami pa ring kailangang gawin. Ang hiniram na verification code ay kitang-kitang wala sa ngayon, ang suporta para sa built-in at intrinsic na mga module ay patuloy pa rin, at ang mahalagang milestone ng pag-compile ng Rust code para sa Linux ay hindi pa naaabot.

Bilang paalala, ang proyekto Nilalayon ng "Rust for Linux" na ipakilala ang isang bagong system programming language sa Linux kernel. Ayon sa mga eksperto, ang wikang Rust ay may pangunahing katangian na ginagawang napaka-interesante na isaalang-alang bilang pangalawang wika ng kernel ng Linux: tinitiyak nito na walang hindi natukoy na pag-uugali na magaganap (hangga't ang hindi secure na code ay matino).

Kabilang dito ang kawalan ng mga error gaya ng after-free na paggamit, double frees, data race, atbp. Ang mga kaugnay na debate ay umiikot sa posibilidad ng pagtanggal ng C pabor sa wikang Rust. Ngunit sinabi ni Linus Torvalds, ang lumikha ng Linux, na hindi iyon ang nakasaad na layunin ng proyektong Rust para sa Linux.

Sa wakas, Ito ay nagkakahalaga ng pagbanggit na kahit na ang gccrs interface ay pinagsama para sa susunod na bersyon ng GCC 13, wala pa ito sa isang estado kung saan maaaring gamitin ito ng karamihan sa mga developer ng Rust bilang isang kahalili sa opisyal na LLVM compiler ni Rust.

Hindi dapat hanggang sa susunod na taon, at least may GCC 14 man lang.

Fuente: https://fosdem.org/


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.