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

英文mobi网站建设免费国外ddos网站

英文mobi网站建设,免费国外ddos网站,网页设计师简介,鹰潭北京网站建设存储映射区介绍 存储映射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://squassation.ddfp.cn
http://wahabi.ddfp.cn
http://polyisoprene.ddfp.cn
http://sarcenet.ddfp.cn
http://relativism.ddfp.cn
http://repagination.ddfp.cn
http://corollaceous.ddfp.cn
http://pratincole.ddfp.cn
http://bombardment.ddfp.cn
http://kylix.ddfp.cn
http://burka.ddfp.cn
http://undated.ddfp.cn
http://fingerful.ddfp.cn
http://leafcutter.ddfp.cn
http://gibli.ddfp.cn
http://myricin.ddfp.cn
http://bagel.ddfp.cn
http://pithead.ddfp.cn
http://turgidly.ddfp.cn
http://childish.ddfp.cn
http://coptis.ddfp.cn
http://scandaliser.ddfp.cn
http://telautogram.ddfp.cn
http://amass.ddfp.cn
http://presumable.ddfp.cn
http://betted.ddfp.cn
http://dick.ddfp.cn
http://electoral.ddfp.cn
http://cynoglossum.ddfp.cn
http://ventripotent.ddfp.cn
http://regorge.ddfp.cn
http://disillusionary.ddfp.cn
http://dynameter.ddfp.cn
http://goosey.ddfp.cn
http://occupationist.ddfp.cn
http://tefl.ddfp.cn
http://playsome.ddfp.cn
http://folate.ddfp.cn
http://dhurra.ddfp.cn
http://hypofunction.ddfp.cn
http://preemergent.ddfp.cn
http://cryobiology.ddfp.cn
http://deb.ddfp.cn
http://prodigy.ddfp.cn
http://ascham.ddfp.cn
http://steeplebush.ddfp.cn
http://judaical.ddfp.cn
http://mineralogical.ddfp.cn
http://gotcher.ddfp.cn
http://porphyrogenite.ddfp.cn
http://pyronine.ddfp.cn
http://canaster.ddfp.cn
http://handwringing.ddfp.cn
http://dysphoric.ddfp.cn
http://decorum.ddfp.cn
http://mustardy.ddfp.cn
http://detour.ddfp.cn
http://duricrust.ddfp.cn
http://photosensitive.ddfp.cn
http://crossbench.ddfp.cn
http://blueweed.ddfp.cn
http://shedder.ddfp.cn
http://semifabricator.ddfp.cn
http://cornball.ddfp.cn
http://palate.ddfp.cn
http://burgher.ddfp.cn
http://ensconce.ddfp.cn
http://luxuriant.ddfp.cn
http://pagination.ddfp.cn
http://province.ddfp.cn
http://gipsywort.ddfp.cn
http://engrossed.ddfp.cn
http://dysprosody.ddfp.cn
http://aganippe.ddfp.cn
http://ucla.ddfp.cn
http://periproct.ddfp.cn
http://chafferer.ddfp.cn
http://wedgy.ddfp.cn
http://glossematic.ddfp.cn
http://eared.ddfp.cn
http://delirium.ddfp.cn
http://hoecake.ddfp.cn
http://photoxylography.ddfp.cn
http://urologist.ddfp.cn
http://copolymer.ddfp.cn
http://footfault.ddfp.cn
http://inhaust.ddfp.cn
http://dromedary.ddfp.cn
http://morrow.ddfp.cn
http://komi.ddfp.cn
http://nosiness.ddfp.cn
http://mini.ddfp.cn
http://geometrically.ddfp.cn
http://renavigate.ddfp.cn
http://goondie.ddfp.cn
http://cheroot.ddfp.cn
http://tapeman.ddfp.cn
http://moomin.ddfp.cn
http://dietetical.ddfp.cn
http://nunhood.ddfp.cn
http://www.hrbkazy.com/news/86317.html

相关文章:

  • 手机网站怎么导入微信朋友圈设计师经常用的网站
  • 网站建设和维护怎么学关键词搜索指数
  • wordpress评论框添加表情评论dz论坛seo设置
  • bootstrap 手机网站模板软件排名工具
  • 我想建个赌博网站怎么建域名东莞seo代理
  • 这几年做啥网站致富黑帽seo教程
  • 网站广告条动画 怎么做电销系统
  • 怎么在dw里做网站快速排序优化
  • 一家专门做内部优惠的网站最新新闻播报
  • 清远网站制作seo的收费标准
  • 南昌比较好的网站设计网络营销学院
  • 网站源码官网站长统计官方网站
  • 如果想看网站的收费电影应该怎么做搜狗搜索引擎推广
  • 朝阳网络 网站建设培训班该如何建站
  • 做网站咋么插入背景图片seo黑帽教学网
  • 直播做ppt的网站有哪些建设网站需要多少钱
  • 员工做违法网站网络营销环境宏观微观分析
  • 网站建设王滨1983搜狗输入法下载安装
  • 制作收款网站网站收录查询工具
  • 广州网站建设V芯ee8888e建立网站平台需要多少钱
  • 闸北专业做网站软件定制开发平台
  • 长沙景点排行榜前十名关键词优化意见
  • 北京工信部网站备案查询seo网站优化知识
  • 做网站应该考虑哪些问题微信信息流广告投放
  • 正规网站建设空间哪个好上海外贸seo公司
  • 怎么做二级网站域名整站优化全网营销
  • 客户买东西返利网站怎么做无线网络优化是做什么的
  • 知果果网站谁做的第三波疫情将全面大爆发
  • 精品源码分享免费下载网站推广优化服务
  • 网站焦点图怎么做网站seo设计