我一直在寻找,我没有找到任何有价值的东西,所以我在这里问。
将结构直接保存在 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)
如果我想存储一个复杂的结构(带有双精度、字符、不同大小的数据),使用结构可能会更好。但是,如果我只想存储整数,哪个会更好?