一、什么是共享内存
共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。(此处节选于网络)
int shmget(key_t key, size_t size, int shmflg);//创建共享内存函数
第一个参数,key如果是IPC_PRIVATE表示创建一个新的共享内存;
第二个参数,size以字节为单位指定需要共享的内存容量;
第三个参数,shmflg为读写的权限,例如0666代表root,user,other都具有读写的权限;
void *shmat(int shmid, const void *shmaddr, int s