当前位置: 技术问答>linux和unix
System V 进程共享内存通信的问题
来源: 互联网 发布时间:2016-07-05
本文导语: 下面是一个很简单的创建共享内存段的程序,在调用shmat函数的时候,总是返回-1,我在linux系统和unix系统上都测试过了,这是为什么呢? #include #include #include #include #include int main(int argc,char *argv[]) { ...
下面是一个很简单的创建共享内存段的程序,在调用shmat函数的时候,总是返回-1,我在linux系统和unix系统上都测试过了,这是为什么呢?
#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
int shm_id;//共享内存引用标识符
key_t keyid=ftok("shmhd.h",'a');//获取共享内存访问键,文件"shmhd.h"仅仅用来访问键
if((shm_id=shmget(keyid,128,IPC_CREAT)) 3))
if((shm_id=shmget(keyid,128,IPC_CREAT | SHM_MODE)
#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
int shm_id;//共享内存引用标识符
key_t keyid=ftok("shmhd.h",'a');//获取共享内存访问键,文件"shmhd.h"仅仅用来访问键
if((shm_id=shmget(keyid,128,IPC_CREAT)) 3))
if((shm_id=shmget(keyid,128,IPC_CREAT | SHM_MODE)