私はこのようなmmapを使用してみました:
off_t offset = 0x123456789;
long pagesize = sysconf(_SC_PAGE_SIZE);
int pageoffset = offset % pagesize;
//Open file, get file descriptor
fd = open("./test", O_RDONLY);
map_main = mmap(NULL, 106 + pageoffset, PROT_READ | PROT_EXEC,
MAP_SHARED, fd, offset - pageoffset);
期待どおりに動作しない。
特定の場所からファイルを読み取るために、私は正しくやっていますか? 参考:バイナリファイルの読み込みに C で mmap を使用しているときの Segfault