Systemd-ն այժմ աջակցում է Rust-ում բաղադրիչների մշակմանը։

Systemd համակարգի կառավարչի կոդային բազայում փոփոխություն է կատարվել՝ ավելացնելով Rust-ում բաղադրիչներ ստեղծելու հնարավորություն: Rust-ը նախատեսված է օգտագործել միայն նոր բաղադրիչներ մշակելու համար, և Rust-ում առկա C կոդը վերաշարադրելու ծրագրեր չկան: Cargo փաթեթների կառավարիչը այլևս չի օգտագործվում կառուցման գործընթացում, և մնում է միայն Meson կառուցման համակարգը: Rust կոդն օգտագործվում է "no_std" ռեժիմով (առանց ստանդարտ գրադարանի), և թույլատրվում են միայն core, alloc և libc գրադարանները:

Systemd Rust բաղադրիչները դինամիկ կերպով կապված են libsystemd-shared C գրադարանի հետ: libsystemd-shared-ի համար Rust կապերը ավտոմատ կերպով ստեղծվում են կառուցման ժամանակ՝ վերնագրի ֆայլերից՝ bindgen օգտակար ծրագրի միջոցով, և Rust ծրագրերի համար հասանելի են դառնում systemd_shared փաթեթի տեսքով: Սա պահանջում է առնվազն rustc 1.85 և bindgen 0.71.1 տարբերակները, որոնք համապատասխանում են... Debian 13:

LTO օպտիմալացումներով կառուցված Rust թեստային կատարվող ֆայլը զբաղեցնում է 32 ԿԲ, մինչդեռ C համարժեքը՝ 20 ԿԲ: Ըստ լռելյայնի, Rust-ի աջակցությունը միացված է միայն այն դեպքում, եթե համակարգում առկա է համապատասխան Rust գործիքակազմը (-Drust=auto): Մշակվում է Rust-ով գրված առաջին բաղադրիչը՝ systemd-keyring-setup-ը, որը դեռևս չի ներառվել systemd-ի հիմնական կոդային բազայում: Systemd-keyring-setup-ը նախատեսված է միջուկի մեխանիզմների համար X.509 վկայագրերը կարգավորելու և կառավարելու համար: Linux dm-verity, fs-verity և bpf:

Source: opennet.ru

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster