gpt4 book ai didi

c - C 中的共享内存

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:59 27 4
gpt4 key购买 nike

我的进程正在访问已创建的共享内存。附加到共享内存的指针是一个包含指针和2或3个变量的结构。

例如:

typedef struct _info_t{
int id;
char c;
}info_t;

typedef struct _details_t{
int buff_id;
info_t* info;
}details_t;

details_t* details = shmat(shmid,(void*)0,0);
printf("\n %d \n",details->info->id); // gives me a segmentation fault

最佳答案

如果一个内存段在多个进程之间共享,则无法保证它将映射到同一地址,因此您不能将指针存储在共享内存段中。尽量避免使用指针,使用偏移量或数组(如果可能)。

关于c - C 中的共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18815036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com