alloc
alloc
を使うためには、グローバル(ヒープ)アロケータを実装しなければなりません。
Speaker Notes
buddy_system_allocator
はサードパーティのクレートで、単純なバディシステムアロケータです。その他にも利用できるクレートはありますし、自前で実装したり、別のアロケータに自分のコードをフックすることも可能です。- パラメータ定数
LockedHeap
はアロケータの最大オーダを示します。この場合、2**32バイトの領域を確保することが可能です。 - もし依存関係にあるクレートが
alloc
に依存する場合、必ずバイナリファイルあたり一つだけのグローバルなアロケータが存在するようにしなければなりません。通常、これはトップレベルのバイナリを生成するクレートにより制御されます。 extern crate panic_halt as _
という部分は、panic_halt
クレートを確実にリンクし、パニックハンドラを利用可能にするために必要です。- この例で示したコードはビルドできますが、エントリポイントがないので実行することはできません。