系统编程-进程间通信-共享内存
一、简介
共享内存是在多个进程间共享内存区域的一种进程间通信的方式,它是在多个进程间堆内存段进行映射的方式实现内存共享。
多个进程间的共享内存是同一块物理地址。
二、使用函数
1、创建共享内存
#include <sys/ipc.h>
#incude <sys/shm.h>
int shmget(key_t key, size_t size, int shmflg);
key-->在内核中和其他共享内存段的关键字比较
shmflg-->比较之后的操作由该字段决定
2、获得共享内存(用来获取共享内存的地址)
#include <sys/types.h>
#include <sys/shm.h>
void *shmat(int shmid, const void *shmaddr, int shmflg);
3、删除共享内存
(当某进程不再需要一个共享内存段时,它必须调用函数来断开与该内存段的连接)
#include <sys/types.h>
#include <sys/shm.h>
int shmdt(const void *shmaddr);
4、共享内存控制
(向共享内存发送命令)
#include <sys/types.h>
#include <sys/shm.h>
int shmdt(const void *shmaddr);
三、应用
N/A(以后补充)