3.3.2. ヒープの作成

シンボル __heap_base__heap_limit をそれぞれ定義することによって、ヒープの始点と終点を指定します。 コンパイル完了時に、通常の方法でヒープ関数を使用できます。

Note

__heap_limit では、ヒープ領域の最後のバイトより上のバイトをポイントする必要があります。

Example 3.6 は、アセンブリ言語を使用してヒープポインタを設定する方法を示しています。

Example 3.6.  アセンブリ言語

    EXPORT __heap_base
__heap_base EQU 0x400000        ; equal to the start of the heap

    EXPORT __heap_limit
__heap_limit EQU 0x800000       ; equal to the end of the heap

Example 3.7 は、C の組み込みアセンブラを使用してヒープポインタを設定する方法を示しています。

Example 3.7.  C の組み込みアセンブラ

__asm void dummy_function(void)
{
    EXPORT __heap_base
__heap_base EQU 0x400000        ; equal to the start of the heap

    EXPORT __heap_limit
__heap_limit EQU 0x800000       ; equal to the end of the heap
}
Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential