Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Минимальная программа no_std

// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0

#![no_main]
#![no_std]

use core::panic::PanicInfo;

#[panic_handler]
fn panic(_panic: &PanicInfo) -> ! {
    loop {}
}
  • Это скомпилируется в пустой бинарный файл.
  • std предоставляет обработчик паники; без него нам придётся предоставить свой.
  • Его также может предоставить другой крейт, например panic-halt.
  • В зависимости от цели, возможно, понадобится собирать с panic = "abort", чтобы избежать ошибки о eh_personality.
  • Обратите внимание, что точки входа main или любой другой нет; вам самим нужно определить свою точку входа. Обычно это включает скрипт компоновщика и некоторый ассемблерный код, который подготавливает всё для запуска кода Rust.