我通过 shmget 创建了一个 linux 共享内存,并在第一个内存地址上创建了一个像这样的全局管理结构,
typedef struct{
mini_kv_key *slots;
unsigned int slots_mask;
unsigned int slots_num;
mini_cache_segment **segments;
unsigned int segments_num;
unsigned int segments_mask;
} mini_cache_globals;
我尝试使用
mini_cache_globals mini_cache = shmat(0, NULL, 0);
得到这个管理结构,但是我发现当我使用
mini_cache->slots[index];
获取 mini_kv_key 将返回段错误,访问也是如此
mini_cache->segments_num[index];
我很抱歉我的英语不好,代码在这里