分配共享内存时出错

时间:2011-06-15 05:35:40

标签: c shared-memory

我正在尝试分配大小为64B的共享内存。但是当我给出大于27的大小时,编译器会抛出错误。如何解决这个问题。我正在使用gcc编译器。我在服务器上运行该程序。

这是我使用的代码。

 shmid=(shmget(key,size,IPC_CREAT | 0666));   // size is defined as 64

我收到错误消息,指出内存分配失败。但对于27以下的尺寸,它可以正常工作

1 个答案:

答案 0 :(得分:1)

不要使用SysV共享内存 - 界面非常糟糕,并且有许多巨大的缺点(例如,您可以使用多少限制,如果您的应用程序必须手动清理它崩溃)。如果您需要共享内存,请使用mmap()