LINUX学习笔记14——进程间通信3共享内存
来源:互联网 发布:黄浦区知明学校 编辑:程序博客网 时间:2024/06/04 19:08
a) 意义:多个进程共享一部分物理内存。访问快,方便
b) 先创建共享内存:int shmget(key_t key, int size, int shmflg)
1. Key:标志共享内存的键值;0/IPC_PRIVATE
a) Key=0:本不创建,但若shmflg仍为IPC_PRIVATE则仍创建
2. Size:大小
3. Shmflg:标志 一般 S_IRUSR|S_IWUSR
4. 返回值:成功返回共享内存标志符;失败返回-1;
5. #include<sys/ipc.h>,#include<sys/shm.h>,#include<sys/types.h>,#include<sys/stat.h>
c) 再映射共享内存:
1. Int shmat(int shmid, char *shmaddr, int flag)
a) Shmid:shmget函数返回的共享存储标识符
b) Shmaddr:是用来保存映射地址,若是0:表述系统自动找地址,通过返回值来得到
c) Flag:决定以什么方式来确定映射的地址(通常是0)
d) 返回值:shmaddr=0时,成功返回共享内存映射到进程中的地址;失败返回-1
2. 共享内存映射到不同进程,地址不同
d) 清除内容:得到地址后需要先把这个内存区重置数据
1. memset(p_addr,’\0’,1024):1024个字节全部重置为
a) #include<string.h>
e) 拷贝内容:strncpy(p_addr, argv[1],1024)
f) 解除映射:int shmdt(char *shmaddr)
- LINUX学习笔记14——进程间通信3共享内存
- Linux进程间通信——IPC共享内存学习笔记
- 学习笔记——进程通信IPC之共享内存
- 进程间通信学习笔记三(共享内存通信)
- Linux程序设计学习笔记----System V进程通信(共享内存)
- Linux进程间通信 -3内存共享
- Linux进程通信——共享内存
- Linux----进程通信—共享内存
- Linux 进程通信—共享内存
- 进程间通信笔记(9)—Posix共享内存
- 进程间通信笔记(10)—SystemV共享内存
- linux进程间通信———内存共享
- Linux进程间通信——共享内存
- Linux进程间通信——共享内存
- Linux进程间通信——共享内存
- Linux进程间通信——共享内存
- Linux进程间通信——共享内存
- Linux进程间通信——使用共享内存
- java从菜鸟到架构师的必看书籍
- Pidgin和Miranda连接Openfire
- Resizing a Photographic image with GDI+ for .NET
- vi recording
- myeclipse优化方案 myeclipse 10 优化
- LINUX学习笔记14——进程间通信3共享内存
- AndroidManifest.xml中的内容详解
- ubuntu 11.10输入法图标消失
- LINUX学习笔记15——进程间通信4消息队列
- 这是一位女孩在异国结婚时,他父亲从大陆寄来的信,
- HEX WORKSHOP 文件比较批处理
- 取得接口对应的MAC地址
- Cisco Packet Tracer8…………连线
- Android地图获取详细街道地址信息 精确定位