linux实现简单的mmap内存映射文件
方法/步骤
-
1
如图所示,输入以下代码。首先新建一个文件,写入一些内容。方便后续测试读文件内容。
-
2
然后,使用mmap函数,映射文件。使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.但需注意,直接对该段内存写时不会写入超过当前文件大小的内容.同时注意:mmap()返回被映射区的指针,munmap()返回0。失败时,mmap()返回MAP_FAILED[其值为(void *)-1]
-
3
如图所示,我们通过内存映射文件技术进行读取内容。通过指定偏移和指定长度,读取相应的内容。比如,指定偏移为4,读取长度为9个字节
-
4
如图所示,程序最后,解除映射关系。munmap()
-
5
如图所示,程序成功读取出文件内容
-
6
如箭头所示,读取内容正确。
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
展开阅读全部
文章评论