在 2021 年要如何開發 Rust 裸機程式:函式庫
這應該是裸機程式的最後一篇了,回顧一下第一篇 所說,到現代幾個進化的點,
- Rustup
- cargo config
- rlibc
- 用 library
前三點我們已經看過了
- 用 rustup 來安裝 target,雖然我後來想了一下,覺得這並不是 rust 勝過 C 而是 LLVM 勝過 gcc,rust 只是站在 LLVM 的肩膀上所以看得更遠而已。
- cargo config 就如前文所述,利用 .cargo/config 來設定編譯目標,以及連結時的 linker script ,只要套用不同的 config 就能對不同目標編譯。
- rlibc 可能比較隱晦一點,但 rlibc 要提供的 memset/memcpy/memmove ,在 core::ptr 裡面已經提供了核心的實作了,所以不需要再引入 rlibc。
最後就是用 library 啦,在前面的篇章都沒提到這個,為什麼?
...