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 或您不需要映射到内存中的调试信息。
我在我的操作系统中时常遇到这个问题class但是教授没有解释,我在网上也找不到确切的解释。 mmap
中偏移量的确切用途是什么?这也是 linux
谢谢
它可以让您映射不一定从头开始的文件部分。
所以
fd = open("/path/to/myfile", O_RDONLY);
ptr = mmap(NULL, 8192, PROT_READ, MAP_PRIVATE, fd, 4096);
会将文件的字节 4096-12287 映射到内存中,return 指向它们映射地址的指针。
这很有用,例如,如果您要加载共享库。文件的某些部分可能是 headers 或您不需要映射到内存中的调试信息。