mmap中的偏移量有什么用?

问题描述

我在操作系统课上不时遇到这个问题,但是教授没有解释,我也无法在网上找到确切的解释。 mmap中偏移量的用途是什么?这也适用于Linux

谢谢

解决方法

它使您可以映射文件的一部分,该部分不一定从头开始。

所以

fd = open("/path/to/myfile",O_RDONLY);
ptr = mmap(NULL,8192,PROT_READ,MAP_PRIVATE,fd,4096);

会将文件的字节4096-12287映射到内存中,并返回一个指向它们所映射地址的指针。

例如,这在加载共享库时很有用。该文件的某些部分可能是标头或调试信息,您不需要将其映射到内存中。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...