#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include "shm_com.h"
int main(void)
{
int running=1;
void *shared_memory=(void *)0;
struct shared_use_st *shared_stuff;
int shmid;
/*创建共享内存*/
shmid=shmget((key_t)1234,sizeof(struct shared_use_st),0666|IPC_CREAT);
if(shmid==-1)
{
fprintf(stderr,"shmget failed\n");
exit(EXIT_FAILURE);
}
/*映射共享内存*/
shared_memory=shmat(shmid,(void *)0,0);
if(shared_memory==(void *)-1)
{
fprintf(stderr,"shmat failed\n");
exit(EXIT_FAILURE);
}
printf("Memory attached at %X\n",(int)shared_memory);
/*让结构体指针指向这块共享内存*/
shared_stuff=(struct shared_use_st *)shared_memory;
/*控制读写顺序*/
shared_stuff->written_by_you=0;
/*循环的从共享内存中读数据,直到读到“end”为止*/
while(running)
{
if(shared_stuff->written_by_you)
{
printf("You wrote:%s",shared_stuff->some_text);
sleep(1); //读进程睡一秒,同时会导致写进程睡一秒,这样做到读了之后再写
shared_stuff->written_by_you=0;
if(strncmp(shared_stuff->some_text,"end",3)==0)
{
running=0; //结束循环
}
}
}
/*删除共享内存*/
if(shmdt(shared_memory)==-1)
{
fprintf(stderr,"shmdt failed\n");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
没有合适的资源?快使用搜索试试~ 我知道了~
国嵌必修实验代码2-3-4
共3个文件
c:2个
h:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 178 浏览量
2022-06-14
06:31:02
上传
评论
收藏 2KB RAR 举报
温馨提示
国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验代码2-3-4国嵌必修实验
资源推荐
资源详情
资源评论
收起资源包目录
国嵌必修实验代码2-3-4.rar (3个子文件)
2-3-4
shm1.c 1KB
shm2.c 1KB
shm_com.h 98B
共 3 条
- 1
资源评论
荣华富贵8
- 粉丝: 121
- 资源: 7649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功