A cross-platform and safe Rust API to create and manage memory mappings in the virtual address space of the calling process. This crate can be used to create both file mappings and anonymous mappings. In addition, this crate supports the use of features such as huge pages, locking physical memory, etc. on platforms where those features are available. Furthermore, this crate allows you to enumerate the memory mappings of a process.
mmap-rs supports rustc version 1.67 or greater since version 0.6.1.
Tier 1 (builds and tests are run in CI):
x86_64-pc-windows-msvc
x86_64-unknown-linux-gnu
i686-unknown-linux-gnu
aarch64-unknown-linux-gnu
armv7a-unknown-linux-gnueabihf
x86_64-apple-darwin
x86_64-unknown-freebsd
Tier 2 (builds are run in CI):
i686-pc-windows-msvc
aarch64-pc-windows-msvc
aarch64-linux-android
armv7-linux-androideabi
x86_64-linux-android
i686-linux-android
aarch64-apple-ios
Tier 3 (no CI, but should work):
aarch64-apple-darwin
x86_64-apple-ios
i686-unknown-freebsd
unsafe
- see documentation for details).PROT_NONE
and PAGE_NOACCESS
).unsafe
- see documentation for details).MAP_STACK
on Unix).