当前位置: 首页 > news >正文

沧州市做网站价格网站建设怎么赚钱

沧州市做网站价格,网站建设怎么赚钱,如何在网站上做飘窗链接,搜索引擎网站制作存储映射区介绍 存储映射I/O (Memory-mapped I/O) 使一个磁盘文件与存储空间中的一个缓冲区相映射。从缓冲区中取数据,就相当于读文件中的相应字节;将数据写入缓冲区,则会将数据写入文件。这样,就可在不使用read和write函数的情况…

存储映射区介绍

        存储映射I/O (Memory-mapped I/O) 使一个磁盘文件与存储空间中的一个缓冲区相映射。从缓冲区中取数据,就相当于读文件中的相应字节;将数据写入缓冲区,则会将数据写入文件。这样,就可在不使用read和write函数的情况下,使用地址(指针)完成I/O操作。

        使用存储映射这种方法,首先应通知内核,将一个指定文件映射到存储区域中。这个映射工作可以通过mmap函数来实现。

mmap函数

	函数作用:建立存储映射区函数原型void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);函数返回值:成功:返回创建的映射区首地址;失败:MAP_FAILED宏参数:	addr: 	指定映射的起始地址, 通常设为NULL, 由系统指定length:映射到内存的文件长度prot:	映射区的保护方式, 最常用的:读:PROT_READ写:PROT_WRITE读写:PROT_READ | PROT_WRITEflags:	映射区的特性, 可以是MAP_SHARED: 写入映射区的数据会写回文件, 且允许其他映射该文件的进程共享。MAP_PRIVATE: 对映射区的写入操作会产生一个映射区的复制(copy-on-write), 对此区域所做的修改不会写回原文件。fd:由open返回的文件描述符, 代表要映射的文件。offset:以文件开始处的偏移量, 必须是4k的整数倍, 通常为0, 表示从文件头开始映射。

munmap函数

	函数作用:释放由mmap函数建立的存储映射区函数原型:int munmap(void addr[.length], size_t length);返回值:成功:返回0失败:返回-1,设置errno值函数参数:addr:调用mmap函数成功返回的映射区首地址length:映射区大小(mmap函数的第二个参数)

mmap进程间通信示例:创建write.c、read.c、test.log(里边随便写一些值,不能为空,为空写不进去)

//使用mmap函数完成两个不相干进程间通信 write.c内容:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/mman.h>int main()
{//使用mmap函数建立共享映射区//void *mmap(void *addr, size_t length, int prot, int flags,//              int fd, off_t offset);int fd = open("./test.log", O_RDWR);if(fd<0){perror("open error");return -1;}int len = lseek(fd, 0, SEEK_END);//建立共享映射区void * addr = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);if(addr==MAP_FAILED){perror("mmap error");return -1;}memcpy(addr, "0123456789", 10);return 0;
}

//使用mmap函数完成两个不相干进程间通信 read.c内容:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/mman.h>int main()
{//使用mmap函数建立共享映射区//void *mmap(void *addr, size_t length, int prot, int flags,//              int fd, off_t offset);int fd = open("./test.log", O_RDWR);if(fd<0){perror("open error");return -1;}int len = lseek(fd, 0, SEEK_END);//建立共享映射区void * addr = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);if(addr==MAP_FAILED){perror("mmap error");return -1;}char buf[64];memset(buf, 0x00, sizeof(buf));memcpy(buf, addr, 10);printf("buf=[%s]\n", buf);return 0;
}

编译后运行,test.log先打开随便赋一些内容,先运行write.c编译后的可执行程序,再运行write.c编译后的可执行程序。

http://www.yayakq.cn/news/254109/

相关文章:

  • wordpress多站点模式做网站背景音乐
  • 网站标签化智能产品创新设计
  • 做搬家网站推广在那好室内设计接单的网站
  • php做简单网站例子网站安全建设工作总结
  • 怎么做分享连接的网站广州seo代理
  • 网站联系方式要素政务网站建设经验交流发言
  • 建站公司合同模板沈阳网站开发
  • 搭建网站的方法网址注册查询系统
  • 网站跳出率怎么计算软件开发是什么职业
  • 如何开发网站建设业务网络营销与管理专业是干什么的
  • 营销型网站免费模板静态网页设计报告
  • 福田网站制作设计服务器租用大概多少钱
  • 商务网站建设 视频做网站需要哪些东西和步骤
  • 海力建设集团有限公司网站wordpress 无法评论
  • 南海区建设局网站手机网站安装
  • 宁波模板建站定制网站全站搜索代码
  • 小程序建站哪家好如何用wampp 做网站
  • 建设项目 环评申报网站网站服务器出问题
  • 天津市规划局官方网站建设项目有没有学做家具的网站
  • 播州区建设局网站织梦手机网站制作
  • 中山市饮食网站建设做公司网站多钱
  • 网站做贸易用什么色调比较好wordpress+search+sql
  • 网站设计公司哪家好如何选择呀yy直播怎么样
  • 门户类网站模板一级a做爰片免播放器网站
  • 中小型网站建设案例个人可以做网站
  • 网站无后台添加后台wordpress如何修改不用邮箱注册
  • iis 网站没有上传权限wordpress 模板速度
  • 少儿编程加盟哪个品牌好宁波网站推广优化收费情况
  • 扬中网站推广服务上海注册公司流程及资料
  • 网站入口百度舟山大昌建设集团网站