25 #define roundmb(x) (char *)((7 + (uint32)(x)) & (~7)) 35 #define truncmb(x) (char *)(((uint32)(x)) & (~7)) 46 #define freestk(p, len) freemem((char *)((uint32)(p) - ((uint32)roundmb(len)) + (uint32)sizeof(uint32)), \
int edata
データセグメントの終了アドレス(リンカが追加する)
struct memblk * mnext
次のフリーメモリブロックへのポインタ
int ebss
BSSセグメントの終了アドレス(リンカが追加する)
int bss
BSSセグメントの開始アドレス(リンカが追加する)
int data
データセグメントの開始アドレス(リンカが追加する)
struct memblk memlist
フリーメモリリストの先頭
int etext
テキストセグメントの終了アドレス(リンカが追加する)
void * maxheap
最上位かつ正常なヒープアドレス
int end
プログラムの終了アドレス(リンカが追加する)
uint32 mlength
memblk構造体のサイズを含むブロックサイズ
int text
テキストセグメントの開始アドレス(リンカが追加する)
unsigned int uint32
符号なし32ビット整数(unsigned int)