共享内存

// 创建共享内存
void*  create_shm(size_t size)
{

    string strTemp = getenv("HOME");
    strTemp += "/rbirun";
 key_t key = ftok(strTemp.c_str(),1);
 int shmid = shmget(key,size,IPC_CREAT | 0666);
 if(shmid == -1)
 {
  return NULL;
 }
    struct info* shminfo = (struct info*)shmat(shmid,0,0);
     if( (struct info *)-1 == shminfo)
    {

        return NULL;
    }
  return shmat(shmid,0,0);
 
}

 

//获取共享内存的key
key_t Get_Key()
{
    string strTemp = getenv("HOME");
    strTemp += "/rbirun";
 return ftok(strTemp.c_str(),1);
}

你可能感兴趣的:(共享内存)