Sterownik Asix AX88796B w Rust jest prostym przykładem porównującym kod Rust i C w jądrze Linuksa.
W Rust zamiast #include używa się poleceń use do importowania modułów i symboli.
Makra Rust (np. module_phy_driver!{}) upraszczają rejestrację sterownika w porównaniu do makr C.
Stałe definiuje się za pomocą const z obowiązkowym określeniem typu, a nie #define.
Funkcje korzystają z referencji (&mut) i gwarancji kompilatora dotyczących bezpieczeństwa pamięci.
Obsługa błędów w Rust używa typu Result i operatora try (?) zamiast kodów zwracanych.
Implementacje sterownika oparte są na cechach (traits) i blokach impl, które zastępują struktury z wskaźnikami na funkcje.
Wiele funkcji może być pominiętych dzięki generycznemu kodowi obsługi PHY w jądrze.
Get notified when new stories are published for "🇵🇱 Hacker News Polski"