我一直在尋找,我沒有找到任何有價值的東西,所以我在這裏問。在共享內存中存儲結構是否是一種好的做法?
將結構直接保存在C中的共享內存中是否是一種好的做法?我的意思是,像這樣:
typedef struct {
...
} foo;
int id = shmget(sizeof(foo), ...);
foo* bar = (foo*) shmat(id, ...);
或者是如果我要存儲一個複雜的結構能夠更好地分配陣列和存儲有隻有你所需要的領域,例如
#define SHM_FIELD_A(shm) (*(shm))
#define SHM_FIELD_B(shm) (*(shm) + 1)
(帶雙打,字符,不同大小的數據),使用結構可能會更好。但是,如果我只想存儲整數,哪個更好?
一般來說這一切都取決於您的要求。 –
如果您將所有數據傳遞給另一個函數,您將如何存儲它?很可能,你想用類似的方式將它存儲起來。 –