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