Um programa no_std mĂ­nimo

#![no_main]
#![no_std]

use core::panic::PanicInfo;

#[panic_handler]
fn panic(_panic: &PanicInfo) -> ! {
    loop {}
}
  • Isso irĂĄ compilar em um binĂĄrio vazio.
  • std fornece um manipulador de pĂąnico; sem ele, devemos fornecer o nosso.
  • TambĂ©m pode ser fornecido por outro crate, como panic-halt.
  • Dependendo do destino, vocĂȘ pode precisar compilar com panic = "abort" para evitar um erro sobre eh_personality.
  • Observe que nĂŁo hĂĄ main ou qualquer outro ponto de entrada; cabe a vocĂȘ definir seu prĂłprio ponto de entrada. Isso normalmente envolverĂĄ um script de linker (ligação) e algum cĂłdigo assembly para deixar as coisas prontas para que o cĂłdigo Rust seja executado.