私はライブラリ用の単純な関数を書いています。それは、他の関数によって管理されるメモリのサイズをパラメータとして取り入れます。
私は、ユーザーによって初期化されたこの大きなメモリプールの情報を保持するデータ構造を持っています。
typedef struct memBlock{
struct memBlock* next;
unsigned int size; // Size of this block
unsigned int is_used; // bool 0 = not used 1 = used
} memBlock;
このデータ構造を初期化する方法と、最初に管理するのに十分なスペースを割り当てる方法を理解しようとしているこの関数もありますか?
int initialize_memory(unsigned long size){
memBlock *ptr; // the beginning of our whole memory to be handled
ptr = malloc(size); // this is the ptr to the original memory first allocated.
ptr->next = NULL;
ptr->size = NULL;
ptr->is_used = 0;
has_initialized = 1; // the memory has been initialized
}
助けてください