如何在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);
- 3 回答
- 0 关注
- 790 浏览
添加回答
举报
0/150
提交
取消