Fautuaga mo le talanoaina o le mataupu o le faʻaopoopoina o meafaigaluega atinaʻe Rust i le fatu Linux

Nick Desagnier (Nick Desaulniers), o lo'o galue ile Google e saunia lagolago fausiaina le fatu Linux e faʻaaoga ai le Clang compiler ma faʻapea foi fesoasoani fa'asa'o fa'aletonu i le Rust compiler, fautuaina faia i se konafesi Linux Plumbers Conference 2020 sauniga e talanoaina ai le mafai ona atia'e vaega fatu i Rust. O Nick o loʻo faʻatulagaina se micro-conference faʻapitoa mo le LLVM, ma talitonu e manaia le talanoaina o tulaga faʻapitoa o le mafai ona tuʻufaʻatasia o le lagolago a Rust i totonu o le fatu (ua uma ona ia saunia se faʻataʻitaʻiga galue mo KBuild) ma malamalama pe tatau ona fesoasoani lea lagolago. e fa'aopoopoina uma ma po'o a tapula'a i le fa'aogaina o le Rust e tatau ona talia.

Sei o tatou manatua lena mea i se talanoaga talu ai nei i le Open Source Summit ma Embedded Linux conference, Linus Torvalds e le'i pule ai o le tula'i mai o fusi mo le atina'eina o subsystems e le o ni fatu fatu (mo se fa'ata'ita'iga, aveta'avale) i gagana e pei o Rust. O le tomai e atiaʻe ai avetaavale i Rust o le a mafai ai ona tatou faia ni avetaʻavale sili atu le saogalemu ma sili atu ma se taumafaiga itiiti, e aunoa ma ni faʻafitauli e pei o le manatuaina pe a uma ona tuʻuina atu, faʻaletonu le faʻailoga, ma le faʻafefe o le pa. O loʻo i ai le tele o galuega faʻapitoa e faʻatino ai lenei vaega:

  • Atina'e mai le kamupani "Fish in a Barrel" saunia se mea faigaluega mo le tusiaina o modules e mafai ona utaina mo le fatu Linux i le gagana Rust, faʻaaogaina se seti o faʻamaufaʻailoga i luga o fesoʻotaʻiga ma fausaga fatu e faʻateleina ai le saogalemu. Layers e otometi lava ona fa'avae i luga o faila fa'aulu fatu o lo'o i ai nei e fa'aaoga ai le aoga bindgen. E fa'aaogaina le Clang e fau ai fa'apapa. I le faʻaopoopoga i interlayers, o faʻapipiʻi faʻapipiʻi faʻaogaina le pusa staticlib.
  • Tagata suʻesuʻe mai le Iunivesite Saina o Hong Kong atiina ae o se poloketi mo le atinaʻeina o avetaʻavale mo faiga faʻapipiʻi ma masini Initaneti o Mea i Rust, lea e faʻaogaina ai foi le bindgen e faʻatupu ai faʻavae e faʻavae i luga o faila ulutala fatu. O le faʻavae e mafai ai e oe ona faʻaleleia le saogalemu o avetaʻavale e aunoa ma le faia o suiga i le fatu - nai lo le fatuina o faʻaopoopoga tulaga faʻaesea mo avetaavale i totonu o le fatu, ua fautuaina e poloka faʻafitauli i le tuʻufaʻatasiga, faʻaaoga le gagana Rust sili atu ona saogalemu. O lo'o fa'apea o sea faiga e ono mana'omia e le au gaosi mea faigaluega o lo'o atia'e ta'avale fa'atauva'a fa'atopetope e aunoa ma le faia o se su'ega tatau.
  • Fa'atupu fa'avae C2Ele mo le faasalalauina o le C code ia Rust, fa'aalu fa'ata'ita'iga ile fa'aliliuina ole kernel modules ma fa'ata'ita'iga la'ititi tusi lesona. O se tasi o faʻafitauli o loʻo maitauina o le faʻaaogaina lea i le tele o vaega o le kernel of code lea e faʻaogaina ai faʻaopoopoga GCC e leʻi lagolagoina i le C2Rust. Ina ia foia lenei faafitauli, ua fuafua le C2Rust e faʻaopoopo le lagolago mo uiga ole GCC ile laina, malulu, alias, faʻaaogaina ma vaega, faʻapea foʻi ma faʻalauteleina le gafatia o le faʻapipiʻi laina ma foia faʻafitauli i fausaga e tutusa uma ma faʻapipiʻi (mo se faʻataʻitaʻiga, xregs_state) . O faʻafitauli taua e manaʻomia ai galuega faʻataʻitaʻi e aofia ai le le mafai ona faʻaliliu C macros e le taua i totonu o Rust macros ma le manaʻoga e toe faʻavasega ituaiga, talu ai ona faʻaliliu e C2Rust ituaiga C i faʻamatalaga i totonu o le libc package, ae e le mafai ona faʻaogaina lenei afifi i modules kernel.

puna: opennet.ru

Faaopoopo i ai se faamatalaga