|
берете исходники простейшего менеджера кучи.
там в памяти обычно пишется такая вещь
/* Descriptor for a segment of memory. */
typedef struct memsegm {
struct memsegm *pPrvSeg; /* Pointer to prev. segment */
struct memsegm *pNxtSeg; /* Pointer to next segment */u32_t Misc; /* Length and flags */
} MemSegm_t;
typedef MemSegm_t *pMemSegm_t;
а функция malloc объявляется так:
void * malloc (u32_t size)
теперь ее модифицируем так:
void * malloc (u8_t**ppPtr,u32_t size)
а структуру объявляем так
/* Descriptor for a segment of memory. */
typedef struct memsegm {
struct memsegm *pPrvSeg; /* Pointer to prev. segment */
struct memsegm *pNxtSeg; /* Pointer to next segment */
u8_t **ppPtr;u32_t Misc; /* Length and flags */
} MemSegm_t;
typedef MemSegm_t *pMemSegm_t;
E-mail: info@telesys.ru