linux实现简单的mmap内存映射文件

2023年4月27日 26点热度 0人点赞

linux实现简单的mmap内存映射文件

工具/原料

  • linux操作系统
  • gcc编译器

方法/步骤

  1. 1

    如图所示,输入以下代码。首先新建一个文件,写入一些内容。方便后续测试读文件内容。

  2. 2

    然后,使用mmap函数,映射文件。使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.但需注意,直接对该段内存写时不会写入超过当前文件大小的内容.同时注意:mmap()返回被映射区的指针,munmap()返回0。失败时,mmap()返回MAP_FAILED[其值为(void *)-1]

  3. 3

    如图所示,我们通过内存映射文件技术进行读取内容。通过指定偏移和指定长度,读取相应的内容。比如,指定偏移为4,读取长度为9个字节

  4. 4

    如图所示,程序最后,解除映射关系。munmap()

  5. 5

    如图所示,程序成功读取出文件内容

  6. 6

    如箭头所示,读取内容正确。

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论