最簡單的 no_std
程式
#![no_main] #![no_std] use core::panic::PanicInfo; #[panic_handler] fn panic(_panic: &PanicInfo) -> ! { loop {} }
- 這會編譯為空白的二進位檔。
std
提供恐慌處理常式。如果沒有,我們就須自行提供。- 也可以由其他 Crate 提供,例如
panic-halt
。 - 視目標而定,編譯時可能需要使用
panic = "abort"
,以免發生eh_personality
相關錯誤。 - 請注意,並沒有
main
或任何其他進入點。您可以自行定義進入點。這通常涉及連結器指令碼和一些組語程式碼,以便準備好執行 Rust 程式碼。