mmap_munmap(_ munmap MMAP).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mmap_munmap(_ munmap MMAP)

mmap_munmap(_ munmap MMAP) ioctl 头文件#包括系统/ ioctl。” 函数int ioctl(int fd,中断请求,…); 【参数】FD文件打开描述符 到设备驱动程序的头文件查找参数和数值 系统默认的硬件/usr/src/linux -版本号/包括/ Linux /中找/命令 【返回值】整数:成功;负数:失败 函数的第三参数是在驱动中表明了, 驱动在/usr/src / Linux2.4 /包括/ Linux /中的。H. 在驱动中查ioctl / ioctl,其中命令就是宏,宏的名字就是指令, 第三个参数是其结构的变量的地址。 mmap 头文件# inlucde 系统/硝酸甲胺。” 把文件映射到内存,用于反复调用函数的使用 void * mmap(void *开始,size_t长度,int prot,int的旗帜,int fd,off_t偏移) 开始内存映射的位置,一般使用空表示随便地址 长映射的文件大小 保护映射的方式有两种prot_read读动作prot_write写动作 旗方式3种map_shared修改内存,文件同步修改 map_fixed禁止修改 map_private若要修改另存为一个备份,不该源文件 FD打开的文件的描述符 偏偏移量,大小是控制长度,偏移量是控制位置。 返回值:空,0xffffffff失败 成功是映射的地址 munmap 解除内存映射 头文件#包括系统/硝酸甲胺。” int munmap(void *开始,size_t长度); 参数:开始:映射区的开始地址。 长度:映射区的长度。 和mmap是一对函数,解除映射。 memcpy 复制内存 表头文件:#包括字符串。” 定义函数:void * memcpy(void * dest,const void * src,size_t N) 函数说明:memcpy()用来拷贝SRC所指的内存内容前N个字节到DeST所指的内存地址上。 与strcpy()不同的是,memcpy()会完整的复制N个字节,不会因为遇到字符串结束 0 而结束 返回值:返回指向DeST的指针 附加说明:指针SRC和DeST所指的内存区域不可重叠 清零 往内存写入数据 头文件#包括字符串。” 函数void* memset(void *,INT CH,符号N); 的变量的地址 C内容 N长度 bzero函数 原型:extern void bzero(void *,int n); 用法:#包括字符串。” 功能:将以地址的开头的的前N个字节为零。 说明:bzero无返回值。bzero只能在Linux下调用 1 #包括 stdio. h 2 #包括程序。” 3 #包括 unistd。” 4 #包括 fcntl。” 5 #包括字符串。” 6 #包括系统/硝酸甲胺。” 7 #包括系统/类型。” 8 #包括系统/ stat.h 9 #定义fb_device“/ dev / FB0” 10 #定义screen_size(1024×768) 11 #定义错误(S)fprintf(stderr,“错误:%s \n”,(S)) 12 int main(int argc、argv char * [ ]) 13 { 14内景fbfd,我; 15未签名颜色= 0; 16无符号短* FBP; 17如果((fbfd =开放(fb_device,o_rdwr))<0){ 18 perror(“fb_device_open”); 19出口(1); 20 } 21 FBP =(unsigned short *)mmap(null, 22 screen_size * sizeof(unsigned short), 23 prot_read | prot_write, 24 map_shared, 25 fbfd, 26 0); 27如果(FBP = = null | | FBP = =(无符号短*)(1)){ 28错误(“不能存取装置”); 29关(fbfd); 30出口(- 1); 31 } 32(1){ 33 color; 34 for (i = 0; i screen _ size; i + +) 35 * (moh + i) = color + +; 36} 37 munmap (moh, screen _ size); 38 close (fbfd); 39 return 0; 40} 参考资料: 【 mmap / munmap系统调用】 功能描述: mmap将一个文件或者其它对象映射进内存.文件被映射到多个页上, 如果文件的大小不是所有页的大小之和, 最后一个页不被使用的空间将会清零.munmap执行相反的操作, 删除特定地址区域的对象映射. 基 于文件的映射, 在mmap和

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档