我正在尝试在进程之间使用共享内存。我只是逐步实现这些功能。尝试向其中写入内容时,我不断遇到分段错误(核心已转储)。
componentWillReceiveProps
答案 0 :(得分:0)
我发现了问题。我没有使用#define KEY并在shmget()中使用它来定义键,而是使用key_t创建了一个键变量。这解决了“参数无效”的问题
这是更新的代码:
void createSharedMem()
{
key_t key;
int shmid = shmget(key, 4096, 0666 | IPC_CREAT);
if(shmid < 0)
perror("\n Error creating shared memory");
ms = shmat(shmid, NULL,0);
ns = shmat(shmid,NULL,0);
*ms =0
*ns=0;
printf("%d",*ms);
}