我有以下幾點:預分配 - 同樣的結構
typedef struct _wrapper {
int num;
foo *bar;
pthread_mutext_t lock;
struct _wrapper *prev;
struct _wrapper *next;
} wrapper;
您可以大概已經知道在那裏我有這個打算:我想加載,提前,多個包裝在運行時每次我需要一個包裝器時保存必須使用malloc調用。我將使用try_lock循環查找可用的包裝器,並且在遍歷所有可用包裝器並找不到任何可用包裝器後,再次使用malloc()再分配一些,並將它們添加到包裝器的鏈接列表中。
我可以用適當建立它的循環中執行單獨的malloc()調用和構建鏈表這樣的,簡單修改*未來和*分組在每個循環週期。我試圖找出的是,如果有一種方法實質上創建它們在一個單一的malloc()語句(即(包裝*)malloc(sizeof(包裝)* 50));我的問題是 - 我怎麼去建設所有這些包裝,並把它們放在正確的位置在記憶中,以確保我不踩在其他(S)的頂部?一個很好的方向推動將不勝感激
我喜歡某人投票的方式......誰做了這件事,一定不會像孩子一樣得到很多愛。 –