gccrs tiks integrēts GCC 13

gccrs

gccrs ir pilnīga alternatīva Rust valodas ieviešana, izmantojot GCC

Nesen atklājās, ka gccrs projekts, kuras mērķis ir nodrošināt saskarni Rust valodai GCC (GNU Compiler Collection), ir ceļā uz integrāciju GCC 13.  Šī mēneša sākumā notikušajā FOSDEM izstrādātāju konferencē inženieris Artūrs Koens sniedza prezentāciju par gccrs, izklāstot pašreizējo darba stāvokli.

Tiem, kas nezina par gccrs projektu, viņiem jāzina, ka tas tā ir pilnīga alternatīva Rust valodas ieviešana papildus GCC ar mērķi pilnībā kļūt par GNU rīku ķēdi.

Šī projekta izcelsme ir kopienas centieni pirms vairākiem gadiem, kad Rust vēl bija 0.9 versijā; Mozilla radītā valoda tika pakļauta tik daudzām izmaiņām, ka kopienas centieniem kļuva grūti panākt.

Tagad, kad valoda ir stabila, ir pienācis laiks izveidot alternatīvus kompilatorus:

“Sākts 2014. gadā (un atsākts 2019. gadā), darbs turpinās kopš 2020. gada, un mēs esam pielikuši daudz pūļu un daudz progresējuši. Mēs esam augšupielādējuši pirmo gccrs versiju GCC. Tātad nākamreiz, kad instalēsit GCC 13, tajā būs gccrs.

Varat to izmantot un sākt uzlauzt to, varat ziņot par problēmām, kad tas neizbēgami avarē un briesmīgi nomirst. Viena liela lieta, ko mēs darām, ir darbs pie tā, lai rustc testa komplekts darbotos,” sacīja Arturs Koens savā prezentācijā FOSDEM konferencē šā mēneša sākumā.

Mērķis joprojām ir arī spēja veiksmīgi palaist rustc kompilatora testa komplektu. Pēc Koena teiktā, Rust GCC saskarne norāda arī uz vecāku Rust libcore 1.49.

Gccrs projekta FAQ norāda, ka visām LLVM būvēšanas tehnoloģijām, kuras izmanto Rust, "trūkst ar GCC saderīgu aizmugursistēmas, tāpēc gccrs ieviešana var aizpildīt nepilnības izmantošanai iegultajā izstrādē".

Tomēr ņemiet vērā, ka Rust-GCC kompilators (gccrs) joprojām ir ļoti agrīnā stadijā un to vēl nevar izmantot faktisko Rust programmu apkopošanai.

GCC komanda pagājušā gada jūlijā balsoja par gccrs integrācijas apstiprināšanu kā celtniecības komplekts. Šī projekta nozīmīgums ir saistīts ar tā nozīmi Linux kodolā. Faktiski Linux kodols parasti tiek veidots ar GCC, taču atmiņas drošības apsvērumu dēļ nepārtraukti virzās uz priekšu, lai kodola kodā izmantotu Rust valodu līdzās C.

Projekts "Rust for Linux" pagājušā gada oktobrī oficiāli apvienojās galvenajā Linux 6.1 Git kokā, padarot Rust par otro valodu, kas veltīta Linux izstrādei, pēc 31 gadu ilgas, tikai C balstītas izstrādes.

“Mēs vēlamies, lai gccrs būtu īsts Rust kompilators, nevis rotaļlietu projekts vai kaut kas tāds, kas apkopo valodu, kas izskatās pēc Rust, bet nav Rust; mēs patiešām cenšamies panākt, lai šī testa komplekta darbotos," viņš piebilda. Prezentācijas laikā Koens arī sacīja, ka, lai gan GCC 13 Rust interfeiss ir labi iesākts, joprojām ir daudz darāmā. Aizņemtā verifikācijas koda šobrīd acīmredzami nav, atbalsts iebūvētajiem un iekšējiem moduļiem joprojām turpinās, un svarīgais pagrieziena punkts Rust koda kompilēšanai operētājsistēmai Linux vēl nav sasniegts.

Atgādinājumam, projekts "Rust for Linux" mērķis ir ieviest jaunu sistēmas programmēšanas valodu Linux kodolā. Pēc ekspertu domām, Rust valodai ir galvenā īpašība, kas padara to ļoti interesantu uzskatīt par otro Linux kodola valodu: tā nodrošina, ka nenotiek nedefinēta uzvedība (kamēr nedrošs kods ir saprātīgs).

Tas ietver kļūdu neesamību, piemēram, pēc brīvas lietošanas, dubultās brīvās darbības, datu sacīkstes utt. Saistītās debates ir par iespēju atteikties no C par labu Rust valodai. Bet Linuss Torvalds, Linux radītājs, teica, ka tas nav projekta Rust for Linux noteiktais mērķis.

Visbeidzot, Ir vērts pieminēt, ka, lai gan gccrs interfeiss tika apvienots nākamajai GCC 13 versijai, tas vēl nav stāvoklī, kurā lielākā daļa Rust izstrādātāju to varētu izmantot kā alternatīva Rust oficiālajam LLVM kompilatoram.

Tam nevajadzētu būt līdz nākamajam gadam, vismaz ar GCC 14.

Fuente: https://fosdem.org/


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.