Rust · Avançado · Inglês · Técnico
no_std
Atributo de crate que desliga a biblioteca padrão e usa só a core, para sistemas embarcados e kernels. Sem std não há threads nem arquivos; sem alloc, não há heap.
Onde usar
Aparece em firmware, bootloaders e WebAssembly mínimo. Bibliotecas costumam oferecer uma feature std opcional.
Em código
#![no_std]
// só core está disponível, sem std
fn soma(a: &[u32]) -> u32 {
a.iter().sum()
}
// use alloc se precisar de VecExemplos
This crate is no_std so it runs on the microcontroller.
Essa crate é no_std, então roda no microcontrolador.
Enable the alloc crate for Vec in no_std.
Habilite a crate alloc para ter Vec em no_std.
Cuidado
no_std não proíbe alocação: com a crate alloc e um alocador global, Vec e String continuam disponíveis.
Sinônimos
#![no_std]