前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UNPv2第十三章:Posix共享内存区

UNPv2第十三章:Posix共享内存区

作者头像
提莫队长
发布2019-02-21 11:08:08
3450
发布2019-02-21 11:08:08
举报
文章被收录于专栏:刘晓杰刘晓杰

13.1 概述:

Posix提供了无亲缘关系进程间共享内存区的两种方法: 内存映射文件:由open函数打开,由mmap函数把得到的描述字映射到当前进程地址空间的一个文件 共享内存区对象:由shm_map打开一个IPC名字,由mmap函数把得到的描述字映射到当前进程地址空间的一个文件

这里写图片描述
这里写图片描述

13.2 shm_open和shm_unlink函数

Posix共享内存区涉及两个步骤要求:  指定一个名字参数调用shm_open,以创建一个新的共享内存区对象或打开一个已存在的共享内存区对象  调用mmap把这个共享内存区映射到调用进程的地址空间

13.3 ftruncate和fstat函数

代码语言:javascript
复制
#include<unistd.h>
int ftruncate(int fd,off_t length);
用途:改变文件大小

Posix对普通文件和共享内存区对象的处理的定义稍有不同  对于一个普通文件:如果该文件大小大于length,额外的数据就会被扔掉,如果小于length,那么是未加说明的  对于共享内存区:ftruncate把该对象的大小设置为length字节

代码语言:javascript
复制
#include<sys/stat.h>
#include<unistd.h>
int fstat(int fildes,struct stat *buf);
获取共享内存区的相关信息
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年04月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 13.1 概述:
  • 13.2 shm_open和shm_unlink函数
  • 13.3 ftruncate和fstat函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档