0907使用write函数向共享内存中写入数据,实现不同进程间的数据信息传递
2017-11-23 19:46
519 查看
/*
编写一个程序,使用write函数向共享内存中写入数据,实现不同进程间的数据信息传递
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <unistd.h>
typedef struct
{
char name[4];
int age;
}people;
int main(int argc, char argv[])
{
int shm_id,i;
char temp;
people p_map;
if(argc!=2)
{
printf("Usage:atshm<identifier>");
exit(1);
}
shm_id=atoi(argv[1]);
p_map=(people )shmat(shm_id,NULL,0);
temp='a';
for(i=0;i<10;i++)
{
temp+=1;
memcpy(((p_map+i)).name,&temp,1);
(*(p_map+i)).age=20+i;
}
if(shmdt(p_map)==-1)
{
perror("detach error!\n");
}
return 0;
}
编写一个程序,使用write函数向共享内存中写入数据,实现不同进程间的数据信息传递
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <unistd.h>
typedef struct
{
char name[4];
int age;
}people;
int main(int argc, char argv[])
{
int shm_id,i;
char temp;
people p_map;
if(argc!=2)
{
printf("Usage:atshm<identifier>");
exit(1);
}
shm_id=atoi(argv[1]);
p_map=(people )shmat(shm_id,NULL,0);
temp='a';
for(i=0;i<10;i++)
{
temp+=1;
memcpy(((p_map+i)).name,&temp,1);
(*(p_map+i)).age=20+i;
}
if(shmdt(p_map)==-1)
{
perror("detach error!\n");
}
return 0;
}
相关文章推荐
- 共享内存实现进程间大数据的交换
- VC 共享内存实现进程间大数据的交换
- windows笔记-使用内存映射文件在进程之间共享数据
- Linux下通过共享内存进行进程间通信,进程间同步使用信号量来实现
- Linux下通过共享内存进行进程间通信,进程间同步使用信号量来实现
- windows笔记-使用内存映射文件在进程之间共享数据
- 共享内存实现进程间大数据的交换
- 共享内存----实现进程间大数据的交换
- VC共享内存实现进程间数据的交换
- 使用内存映射文件在进程之间共享数据
- VC共享内存实现进程间数据的交换
- 使用内存映射文件在进程之间共享数据
- SharedPreference 实现不同进程间的数据共享
- Android:使用AIDL实现进程间传递复杂数据类型
- 共享内存实现进程间大数据的交换
- 共享内存多次写入不同类型的数据测试代码
- Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲述了Android中不同Activity之间的数据传递 — Bundle对象的实现(-)+Android中Bundle的使用示例
- 【Demo 0115】内存映射方式实现进程间数据共享
- VC 共享内存实现进程间大数据的交换
- 使用内存映射文件在进程之间共享数据