共享内存读函数
来源:互联网 发布:我想在淘宝上买话费 编辑:程序博客网 时间:2024/06/18 16:46
/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/shm.h>
#include "shmdata.c"
#include <string.h>
int main()
{
int running = 1;
void *shm = NULL;
struct shared_use_st * shared;
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);
}
shm = shmat(shmid,0,0);
if(shm == (void*)-1)
{
fprintf(stderr,"shmat failed\n");
exit(EXIT_FAILURE);
}
printf("\n memary attached at %d\n",(int)shm);
shared = (struct shared_use_st *)shm;
shared->written = 0;
while(running)
{
if(shared->written != 0)
{
printf("you wrote : %s\n",shared->text);
sleep(rand()%3);
shared->written = 0;
if(strncmp(shared->text,"end",3) == 0)
running = 0;
}
else
sleep(1);
}
if(shmdt(shm) == -1)
{
fprintf(stderr,"shmdt failed\n");
exit(EXIT_FAILURE);
}
if(shmctl(shmid,IPC_RMID,0) == -1)
{
fprintf(stderr,"stmctl failed\n");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
return 0;
}
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/shm.h>
#include "shmdata.c"
#include <string.h>
int main()
{
int running = 1;
void *shm = NULL;
struct shared_use_st * shared;
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);
}
shm = shmat(shmid,0,0);
if(shm == (void*)-1)
{
fprintf(stderr,"shmat failed\n");
exit(EXIT_FAILURE);
}
printf("\n memary attached at %d\n",(int)shm);
shared = (struct shared_use_st *)shm;
shared->written = 0;
while(running)
{
if(shared->written != 0)
{
printf("you wrote : %s\n",shared->text);
sleep(rand()%3);
shared->written = 0;
if(strncmp(shared->text,"end",3) == 0)
running = 0;
}
else
sleep(1);
}
if(shmdt(shm) == -1)
{
fprintf(stderr,"shmdt failed\n");
exit(EXIT_FAILURE);
}
if(shmctl(shmid,IPC_RMID,0) == -1)
{
fprintf(stderr,"stmctl failed\n");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
return 0;
}
0 0
- 共享内存读函数
- 共享内存--函数
- 共享内存函数
- 共享内存函数知识
- 共享内存相关函数
- shm*()--共享内存操作函数
- 共享内存和 系列函数
- 共享内存:mmap函数实现
- linux C共享内存函数
- 共享内存(shmget函数详解)
- 共享内存和操作共享内存几个函数的用法
- 进程通信----共享内存以及mmap函数实现共享内存
- 共享内存API函数 shmat() shmdt() shmctl()
- c#读写共享内存操作函数封装
- (内存共享)shmat函数的使用
- 共享内存映射之mmap()函数详解
- 共享内存的常用函数原理剖析
- system V 共享内存函数详解
- Visual Studio 2012之“解决方案资源管理器”靠左靠右
- 漫谈继承技术(八)
- Makefile的编写和使用
- codeforces 739b Alyona and a tree
- scanf 格式化输入
- 共享内存读函数
- Java Servlet之Servlet生命周期方法
- 阿里云Ubuntu挂载数据盘
- Spring Boot 菜鸟教程 9 swagger-前后端分离后的标准
- P标签内放块元素,结构被破坏,使P的子元素流出。
- 选择性编译
- 【英语】11月英语总结博客
- android复习路之Service篇
- 并行计算起源与基本概念