Asix AX88796B用のシンプルなEthernet PHYドライバーをC版とRust版で比較した.
Rust版ではuse文で必要なモジュールを明示的にインポートし、module_phy_driver!マクロでドライバー登録を簡潔に記述する.
&mut参照やResult型と?演算子により、エラー伝播やメモリ安全性がコンパイル時に保証される.
implブロックとtraitを使い、#[vtable]マクロでCの関数ポインタ構造体と同様のインターフェースを実現する.
C版とRust版のドライバー実装手順は、ボイラープレートと必要な関数定義、デバイスID登録などでほぼ一致する.
Get notified when new stories are published for "🇯🇵 Hacker News 日本語"