4.53 __user_heap_extent()

定義されている場合、__user_heap_extent() 関数は Heap2 アロケータで使用可能なメモリの上下限を返します。

rt_misc.h を参照して下さい。

構文

extern __value_in_regs struct __heap_extent __user_heap_extent(unsigned ignore1, unsignedignore2);

使用法

パラメータ ignore1 および ignore2 は、ヒープのベースアドレスおよびサイズのデフォルト値です。これらは情報の提供のみを目的としており、無視してもかまいません。
この関数は、C ライブラリにも含まれている Heap2 アロケータを使用する場合にのみ実装する必要があります。この関数にデフォルトの実装はありません。Heap2 アロケータは、ヒープの初期化中にこの関数を呼び出し、ヒープで占有可能な最大アドレス範囲を指定します。ヒープのベースアドレスとヒープで使用可能な総バイト数が、次の 2 の累乗に切り上げられて返されます。
例えば、すべてのヒープ割り当てがアドレス 0x80000000 以上から取得され、ヒープの合計最大サイズが 3MiB となるように指定する場合、__user_heap_extent()base=0x80000000 および range=0x400000 を返します。これは、次の 2 の累乗に切り上げられた 3MiB になります。
関連する概念
1.66 スタックポインタの初期化とヒープの上下限
1.64 ヒープ 2 代替ヒープ実装
関連する参考文書
4.27 __rt_heap_extend()
4.31 __rt_stackheap_init()
4.52 __user_heap_extend()
4.54 __user_setup_stackheap()
1.62 メモリ割り当て関数の C ライブラリサポート
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.