共享内存段错误,就几行代码
int main(int argc,char **argv)
{
      int shm_id;
      char *p_map;
      shm_id=shmget(IPC_PRIVATE,1024*5,IPC_CREAT);
      if(shm_id<0)
      {
      	perror("shmget error");
      	return;
      }
      p_map=(char *)shmat(shm_id,NULL,0);//映射内存
      if (p_map==NULL)
      {
      	perror("shmget error");
      	return;
      }      
      *p_map='a';// 此句出现段错误,上面不是分配了内存了吗               
      if(shmdt(p_map)<0)
          perror("detach error");      
      return 0;
}
第一次用共享内存,各位指教下
------解决方案--------------------
是不是缺少权限
试试
shm_id=shmget(IPC_PRIVATE,1024*5,IPC_CREAT|0666);