1.65 ベアマシン C からのヒープ実装の使用

ベアマシン C からヒープ実装を使用する場合は、ヒープの上限と下限を定義するだけでなく、ヒープ拡張関数も指定する必要があります。

main() を定義しておらず、C ライブラリを初期化しないアプリケーション内でヒープ実装を使用するには、以下を行って下さい。
  1. _init_alloc(base, top) を呼び出して、ヒープとして管理するメモリの上限と下限を定義します。

    _init_alloc(base, top) のパラメータは 8 バイト境界で整列されていること。
  2. 関数 unsigned __rt_heap_extend( unsigned size, void **block) を定義して、ヒープが一杯になったときにヒープを拡張するための呼び出しを処理します。
関連する概念
1.63 ヒープ 1 標準ヒープ実装
1.64 ヒープ 2 代替ヒープ実装
関連する参考文書
1.61 ARM で提供されるヒープおよびヒープを使用するライブラリ関数の使用の回避
1.62 メモリ割り当て関数の C ライブラリサポート
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.