gccrs integroidaan GCC 13:een

gccrs

gccrs on täydellinen vaihtoehtoinen Rust-kielen toteutus GCC:n yli

Se paljastui hiljattain gccrs-projekti, jonka tavoitteena on tarjota käyttöliittymä Rust-kielelle GCC:lle (GNU Compiler Collection), on tulossa integroitumaan GCC 13:een.  Aiemmin tässä kuussa pidetyssä FOSDEM-kehittäjäkonferenssissa insinööri Arthur Cohen piti esityksen gccrs:stä ja hahmotteli työn nykytilaa.

Niiden, jotka eivät ole tietoisia gccrs-projektista, heidän pitäisi tietää, että tämä on täydellinen vaihtoehtoinen Rust-kielen toteutus GCC:n päälle tavoitteena tulla täysin GNU-työkaluketjuksi.

Tämän projektin alkuperä on yhteisön ponnistelu useita vuosia sitten, kun Rust oli vielä versiossa 0.9; Mozillan luomaan kieleen tehtiin niin monia muutoksia, että yhteisön pyrkimysten saavuttaminen oli vaikeaa.

Nyt kun kieli on vakaa, on aika luoda vaihtoehtoisia kääntäjiä:

”Vuonna 2014 alkanut (ja käynnistetty uudelleen vuonna 2019), työ on jatkunut vuodesta 2020 lähtien, ja olemme tehneet paljon työtä ja edistyneet paljon. Olemme ladanneet ensimmäisen gccrs-version GCC:n sisällä. Joten kun seuraavan kerran asennat GCC 13:n, siinä on gccrs.

Voit käyttää sitä ja voit aloittaa hakkeroinnin, voit raportoida ongelmista, kun se väistämättä kaatuu ja kuolee hirveästi. Yksi suuri asia, jota teemme, on työskennellä rustc-testisarjan toimivuuden parantamiseksi", sanoi Arthur Cohen esitelmässään FOSDEM-konferenssissa aiemmin tässä kuussa.

Kyky suorittaa rustc-kääntäjätestipaketti onnistuneesti on myös edelleen tavoite. Cohenin mukaan Rustin GCC-käyttöliittymä viittaa myös vanhempaan Rust libcore -versioon 1.49.

gccrs-projektin UKK huomauttaa, että kaikista Rustin käyttämistä LLVM-koontiteknologioista "puuttuu joitakin GCC-yhteensopivia taustaohjelmia, joten gccrs-toteutus voi täyttää aukot käytettäväksi sulautetussa kehityksessä".

Huomaa kuitenkin, että Rust-GCC-kääntäjä (gccrs) on vielä hyvin varhaisessa vaiheessa eikä sitä voida vielä käyttää varsinaisten Rust-ohjelmien kääntämiseen.

GCC-tiimi äänesti viime heinäkuussa gccrs-integraation hyväksymisestä rakennussarjana. Tämän projektin merkitys on sen tärkeys Linux-ytimelle. Itse asiassa Linux-ydin on yleensä rakennettu GCC:llä, mutta suunnitelmat sallia Rust-kielen käyttö C:n rinnalla ytimen koodissa muistin turvallisuussyistä etenevät tasaisesti.

"Rust for Linux" -projekti sulautui virallisesti Linux 6.1 Git -puuhun viime lokakuussa, jolloin Rustista tuli toinen Linux-kehitykseen omistettu kieli 31 vuoden yksinomaan C-pohjaisen kehityksen jälkeen.

"Haluamme, että gccrs on todellinen Rust-kääntäjä, ei leluprojekti tai jotain, joka kääntää kielen, joka näyttää Rustilta, mutta ei ole ruostetta; yritämme todella saada tämän testisarjan toimimaan", hän lisäsi. Esityksen aikana Cohen sanoi myös, että vaikka GCC 13:n Rust-käyttöliittymä on alkanut hyvin, työtä on vielä paljon tehtävänä. Lainattu vahvistuskoodi puuttuu tällä hetkellä selvästi, tuki sisäänrakennetuille ja sisäisille moduuleille on edelleen käynnissä, ja tärkeä virstanpylväs Rust-koodin kääntämisessä Linuxille on vielä saavuttamatta.

Muistutuksena projektista "Rust for Linux" pyrkii tuomaan uuden järjestelmäohjelmointikielen Linux-ytimeen. Asiantuntijoiden mukaan Rust-kielellä on keskeinen ominaisuus, joka tekee siitä erittäin mielenkiintoista pitää sitä Linux-ytimen toisena kielenä: se varmistaa, ettei määrittelemätöntä käyttäytymistä tapahdu (niin kauan kuin turvaton koodi on järkevä).

Tämä sisältää virheiden puuttumisen, kuten jälkivapaan käytön, tuplavapaat, datakilpailut jne. Aiheeseen liittyvät keskustelut pyörivät mahdollisuudesta luopua C:stä ruosteen kielen hyväksi. Mutta Linuxin luoja Linus Torvalds sanoi, että se ei ole Rust for Linux -projektin ilmoitettu tavoite.

lopuksi, On syytä mainita, että vaikka gccrs-käyttöliittymä yhdistettiin GCC 13:n seuraavalle versiolle, se ei ole vielä siinä tilassa, jossa useimmat Rust-kehittäjät voisivat todella käyttää sitä vaihtoehtona Rustin viralliselle LLVM-kääntäjälle.

Sen pitäisi olla vasta ensi vuonna, ainakin GCC 14:n kanssa.

lähde: https://fosdem.org/


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.