总结 共享内存
来源:互联网 发布:义乌美工兼职 编辑:程序博客网 时间:2024/06/03 18:26
http://tonybai.com/2005/09/23/apr-shmem/
匿名共享内存:
【1】
int N=1024; //大小
char *p = mmap(NULL, N, PROT_READ|PROT_WRITE, MAP_ANON|MAP_SHARED,-1,0);
p[0]='A';
p[a]='B';
...
mummap(p,N);
【2】
int N=1024; //大小
int fd=open("/dev/zero", O_RDWR);
char *p = mmap(NULL, N, PROT_READ|PROT_WRITE, MAP_SHARED,fd,0);
...
munmap(p,N);
【3】
int N=1024;
int id=shmget(IPC_PRIVATE,N,0666);
char *p=shmat(id,NUL,0);
...
shmdt(p); //解除
shmctl(id,IPC_RMID,NULL); //拆除
有名共享内存:
【1】
int fd = open("abc", O_RDWR|O_CREAT|O_TRUNC, 0666); 或 un_link("abc");int fd = open("abc", O_RDWR|O_CREAT|O_EXCL, 0666);
ftruncate(fd,1024);
char *p = map(NULL,1024,PROT_READ|PROT_WRITE, MAP_SHARED, fd,0);
p[0]=...
munmap(p,1024);
un_link("abc");
【2】
int fd = shm_open("abc", O_RDWR|O_CREAT|O_TRUNC, 0666); 或 shm_unlink("abc");int fd = shm_open("abc", O_RDWR|O_CREAT|O_EXCL, 0666);
ftruncate(fd,1024);
char *p = map(NULL,1024,PROT_READ|PROT_WRITE, MAP_SHARED, fd,0);
p[0]=...
munmap(p,1024);
unlink("abc");
【3】key_t kt=ftok("abc",0);
int id=shmget(kt,1024,IPC_CREAT|0666);
char *p=shmat(id,NULL,0);
....
shmdt(p);
shmctl(id,IPC_RMID,NULL);
- UNIX共享内存总结
- 共享内存实践总结
- linux 共享内存 总结
- UNIX共享内存总结
- 总结 共享内存
- UNIX共享内存总结
- UNIX共享内存总结
- CUDA总结:共享内存
- 共享内存总结
- unix 编程 共享内存总结
- Linux进程通信总结(三) --共享内存
- VC++6.0共享内存技术总结
- 共享内存总结以及实现代码
- linux基础总结(四)-------共享内存
- 【共享内存】共享内存
- 共享内存
- 共享内存
- 共享内存
- 求数组的子数组之和的最大值 .
- Mysql主从复制详解
- 原码、反码、补码和移码的相关概念
- 转码工具 native2ascii.exe 的使用方法
- [小代码]如何获得intent的extras字段
- 总结 共享内存
- C/C++ C语言学习第一天(配置)
- Android之Service一
- 使用backtrace打印函数调用栈
- jquery 异步传输与spring mvc
- HDFS 在Web程序的相册功能开发中的应用
- 用nginx-rrd监控nginx访问数
- 第五部分 家庭创业奔小康5.低利率时代,家庭投资新渠道
- NVIDIA Nsight Visual Studio Edition 3.0 Final with OpenGL Debugging and Kepler GK110 support!