#include #include #include #include #include void *malloc32(int size){ register unsigned long *res = (unsigned long *)malloc(size+sizeof(long)); if(!res){ perror("malloc: "); exit(-1); } *res=size; return &res[1]; } void free32(void *p){ register unsigned long *mem = (unsigned long *)p; mem--; free(mem); } void *realloc32(void *p, int size){ register unsigned long *mem = (unsigned long *)p; unsigned int oldsize; oldsize = mem[-1]; void *newmem = malloc32(size); oldsize = oldsize