开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:Shmdt 共享内存解除映射关系】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/660/detail/11054
Shmdt 共享内存解除映射关系
内容介绍:
一、 解除共享内存映射( detach )
二、 实例
一、解除共享内存映射( detach )
1.格式
#include <sys/types.h>
#include <sys/shm.h>
int shmdt(const void *shmaddr);
2.功能:
将共享内存和当前进程分离(仅仅是断开联系并不删除共享内存)。
3.参数:
shmaddr:共享内存映射地址。
4.返回值:
成功返回0,失败返回-1。
二、实例
key_ t key;
//定义一个变量 key
int shm_id; //定义一个 id
char *str;
//定义一个指针用于映射
int ret;
key=ft
ok(“.”,2);
//传入参数
shm_id=shmget(key,100,IPC_CREAT|0666);
//100为共享内存块的大小
str = (char *)shmat(shm.id,NULL,0);
ret = shmdt(str);
//解除映射关系,一旦解除就不能通过指针去访问共享内存