mmap中的offset有什么用?

What's the use of the offset in mmap?

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

谢谢

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

所以

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

会将文件的字节 4096-12287 映射到内存中,return 指向它们映射地址的指针。

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