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

有没有专业做二维码连接网站在dw网页素材

有没有专业做二维码连接网站在,dw网页素材,长沙网站制作公司哪家好,网站设计大公司mmap内存映射 内存共享定义 内存映射#xff0c;简而言之就是将用户空间的一段内存区域映射到内核空间#xff0c;映射成功后#xff0c;用户对这段内存区域的修改可以直接反映到内核空间#xff0c;同样#xff0c;内核空间对这段区域的修改也直接反映用户空间。那么对…mmap内存映射 内存共享定义 内存映射简而言之就是将用户空间的一段内存区域映射到内核空间映射成功后用户对这段内存区域的修改可以直接反映到内核空间同样内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间----用户空间两者之间需要大量数据传输等操作的话效率是非常高的。 以下是一个把普遍文件映射到用户空间的内存区域的示意图 mmap内存映射方法 mmap是一种内存映射文件的方法即将一个文件或者其它对象映射到进程的地址空间实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。 实现这样的映射关系后进程就可以采用指针的方式读写操作这一段虚拟内存而系统会自动回写到对应的文件磁盘上即完成了对文件的操作而不必再调用read,write等系统调用函数。 相反内核空间对这段区域的修改也直接反映用户空间从而可以实现不同进程间的文件共享。如下图所示 void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);参数说明 参数start指向欲映射的内存起始地址通常设为 NULL代表让系统自动选定地址映射成功后返回该地址。 参数length代表将文件中多大的部分映射到内存。 参数prot映射区域的保护方式。可以为以下几种方式的组合 PROT_READ可读 PROT_WRITE可写 PROT_EXEC可执行 PROT_NONE不可访问 参数flags由以下几个常值指定 MAP_SHARED共享的 MAP_PRIVATE私有的 MAP_FIXED表示必须使用 start 参数作为开始地址如果失败不进行修正 其中MAP_SHARED , MAP_PRIVATE必选其一而 MAP_FIXED 则不推荐使用。MAP_ANONYMOUS匿名映射用于血缘关系进程间通信 参数fd表示要映射的文件句柄。如果匿名映射写-1。 参数offset表示映射文件的偏移量一般设置为 0 表示从文件头部开始映射。offset必须是分页大小的整数倍一般是4096的整数倍。 写共享文件 #includestdio.h #includeunistd.h #includestring.h #includefcntl.h #includesys/mman.h #includesys/stat.h #includestdlib.h #includesys/types.h int main(int agrc,char* agrv[]) {int len;int fd;void* map;fd open(1.txt,O_RDWR);if(fd0){perror(open);return -1;}len lseek(fd, 0, SEEK_END); printf(%d\n,len);map mmap(NULL,len,PROT_WRITE,MAP_SHARED,fd,0);if(map MAP_FAILED){perror(mmap);return -1;}for(int i0;i5;i){memcpy(map, b, 1);}return 0; }读共享文件 #includestdio.h #includeunistd.h #includestring.h #includefcntl.h #includesys/mman.h #includesys/stat.h #includestdlib.h #includesys/types.h int main(int agrc,char* agrv[]) {int len;int fd;void* map;fd open(1.txt,O_RDWR);if(fd0){perror(open);return -1;}len lseek(fd, 0, SEEK_END); map mmap(NULL,len,PROT_READ,MAP_SHARED,fd,0);if(map MAP_FAILED){perror(mmap);return -1;}while (1) {printf(%s\n,(char*)map);}return 0; }mmap内存映射注意事项 1 创建映射区的过程中隐含着一次对映射文件的读操作将文件内容读取到映射区。 2 当MAP_SHARED时要求映射区的权限应 文件打开的权限(出于对映射区的保护)如果不满足报非法参数Invalid argument错误。 当MAP_PRIVATE时候mmap中的权限是对内存的限制只需要文件有读权限即可操作只在内存有效不会写到物理磁盘且不能在进程间共享。 3 映射区的释放与文件关闭无关只要映射建立成功文件可以立即关闭。 4 用于映射的文件大小必须0当映射文件大小为0时指定非0大小创建映射区访问映射地址会报总线错误指定0大小创建映射区报非法参数错误Invalid argument 5 文件偏移量必须为0或者4096的整数倍不是会报非法参数Invalid argument错误. 6映射大小可以大于文件大小但只能访问文件page的内存地址否则报总线错误 超出映射的内存大小报段错误. system V共享内存 使用system V共享内存的步骤 1、创建/打开共享内存。 2、映射共享内存即把指定的共享内存映射到进程的地址空间用于访问。 3、读写共享内存。 4、撤销共享内存映射。 5、删除共享内存对象。 相关API //共享内存创建 int shmget(key_t key, int size, int shmflg); //共享内存映射 void *shmat(int shmid, const void *shmaddr, int shmflg); //共享内存撤销撤销后内存地址不可再访问 int shmdt(void *shmaddr); //共享内存控制 int shmctl(int shmid, int cmd, struct shmid_ds *buf); shmctl(shmid, IPC_RMID, NULL);删除共享内存写数据 #includestdio.h #includestdlib.h #includeunistd.h #includesys/types.h #includestring.h #includesys/stat.h #includesys/shm.h #includesys/ipc.h int main(int agrc,char* agrv[]) {key_t key;int shimd;void* shmaddr;key ftok(2.txt, 100);printf(key %d\n,key);if(key -1){perror(key);return -1;}shimd shmget(key, 512, IPC_CREAT|0666);printf(shimd %d\n,shimd);if(shimd -1){perror(get);return -1;}shmaddr shmat(shimd, NULL, 0);strcpy(shmaddr, hello,world!);sleep(1);return 0; }读数据 #includestdio.h #includestdlib.h #includeunistd.h #includesys/types.h #includestring.h #includesys/stat.h #includesys/shm.h #includesys/ipc.h int main(int agrc,char* agrv[]) {key_t key;int shimd;void* shmaddr;key ftok(2.txt, 100);if(key -1){perror(key);return -1;}shmaddr shmat(32811, NULL, 0);printf(%s\n,(char*)shmaddr);shmdt(shmaddr);sleep(1);return 0; }
http://www.hkea.cn/news/14531672/

相关文章:

  • 海南的网站建设公司哪家好中装建设官网
  • 农家乐网站 建设天塔网站建设公司
  • 百度云建站WordPress职业学院网站建设方案
  • 邳州哪家做百度推广网站如何在国外建设网站
  • 西安做百度网站的找app开发公司
  • 企业网站建设公和布克赛尔网站建设
  • 有口碑的常州网站优化网页制作平台有什么
  • 网站开发设计有限公司郑州软件公司排行榜
  • 轴承网站建设济南网站建设行知科技
  • 网站关键词搜索排名减少WordPress跳转
  • 市通建设工程质量监督局网站免费公司企业建站代理
  • 模板网站是啥意思做网站推广话术
  • 网站建设推广刘贺稳1公司网站网络营销是什么
  • 浙江省建设工程招投标网站设计网站建设书南昌大学论文
  • 厦门网站建设u建设公司的网站首页
  • 宁波行业网站建设上传发布的步骤分为哪六个部分
  • iis默认网站属性网站对公司的作用是什么
  • 上海建筑公司黄页东莞网站seo推广
  • 网站网络排名优化方法黄冈做网站技术支持的
  • 电子商务网站开发主要有哪些一台网站服务器多少钱
  • 九龙坡网站建设oa办公系统开发
  • 深圳做网站行业网站建设的一般流程是怎样的
  • 无锡网站制作哪家便宜南昌建设局
  • 做网站前期需求分析收费么互联网媒体广告公司
  • 库存网站建设定制关键词优化难度查询
  • 查找网站备案黑色asp企业网站源码
  • 优酷网站建设视频教程集湖州建设局网站 项目验收流程
  • 做网站或者app咨询聊城网站建设
  • 重生做网站小说做网站编辑有人带吗
  • 网站可以做音频线吗seo快速排名的方法