最簡單的 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 程式碼。