为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C中与Linux一起使用共享内存

如何在C中与Linux一起使用共享内存

Helenr 2019-07-11 15:20:03
如何在C中与Linux一起使用共享内存我的一个项目有点问题。我一直在试图找到一个有详细文档的使用共享内存的示例。fork()但没有成功。基本上,当用户启动程序时,我需要在共享内存中存储两个值:电流路径这是夏尔*和一个文件名这也是夏尔*.根据命令参数,一个新进程将以fork()而该过程需要读取和修改电流路径变量存储在共享内存中,而文件名变量是只读的。有关于共享内存的示例代码(如果可能的话)的好教程,您可以指导我吗?
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

这些是用于使用共享内存的

#include<sys/ipc.h>#include<sys/shm.h>int shmid;int shmkey = 12222;//u can choose it as your choiceint main(){
  //now your main starting
  shmid = shmget(shmkey,1024,IPC_CREAT);
  // 1024 = your preferred size for share memory
  // IPC_CREAT  its a flag to create shared memory

  //now attach a memory to this share memory
  char *shmpointer = shmat(shmid,NULL);

  //do your work with the shared memory 
  //read -write will be done with the *shmppointer
  //after your work is done deattach the pointer

  shmdt(&shmpointer, NULL);


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 790 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信