Heap initialiseringsafhængigheder ...

J

john2020

Guest
Hej Alle,

Kan nogen bedømme følgende kode init_mem.c.

Her er koden for init_mem.c
void init_mempool (
void * pool, / * adresse på den hukommelse, * /
unsigned int size) (/ * størrelsen af puljen i byte * /

/ * Indstil __mp__ til at pege på starten af puljen og sæt
* Puljens størrelse.
* /

__mp__ = (struct __mp__ *) ((unsigned int) ((unsigned int) pulje 3) & ~ 3);

/ * Set på linket til den blok i puljen til NULL (da det er den eneste
* Blok) og initialisere størrelsen af sine data området.
* /

((struct __mp__ *) pulje) -> next = NULL;
((struct __mp__ *) pulje) -> len = size - HLEN;
)

Her er den måde, jeg forsøger at bruge det:
unsigned char memory_pool [0x4000];

void main (void)
(
init_mempool (memory_pool, sizeof (memory_pool));
Rx_Data_Buffer = (char *) calloc (10, 1);
free (Rx_Data_Buffer);
)

Ovenstående init_mempool () mislykkes, men når jeg giver start adresse RAM
og dens samlede størrelse som parametre til init_mempool (), det virker.

Hvordan vil jeg være i stand til at tildele begrænset del af RAM som Heap?

Hilsen,
John

 

Welcome to EDABoard.com

Sponsor

Back
Top