P5-ipc-mmap

Jul 20, 2023

Provides a minimal mmap() interface for both POSIX and Win32

Provides an object-oriented interface to either the POSIX mmap or Win32 equivalent APIs to memory map a file into a process’s address space for general memory access. IPCMmap provides only a minimal interface without the additional overhead of tie’d variables or locking enforced in other modules e.g., SysMmap, Win32MMF; hence, the application is responsible for performing read’s and write’s on the IPCMmap object, and calling any needed lock and unlock methods, as required by concurrent processes.

Memory mapped files provide an alternate shared memory mechanism for multiple processes. The technique maps the OS’s file system buffers for a given file into each mmap’ing process’s virtual memory space, thereby permitting each process to essentially share the same physical memory. Refer to the excellent “Advanced Programming in the UNIX Environment”, Stevens et al., Addison-Wesley Publisher for a detailed reference on the POSIX implementation. IPCMmap provides OS-agnostic wrappers for both the POSIX and Win32 memory mapped file capabilities.



Checkout these related ports:
  • Zziplib - Library to provide transparent read access to zipped files
  • Zydis - Fast and lightweight x86/x86-64 disassembler library
  • Zycore-c - Support library with platform independent types, macros, etc for Zydis
  • Zthread - Platform-independent object-oriented C++ threading library
  • Zookeeper - Coordination Service for Distributed Applications
  • Zls - Zig LSP implementation + Zig Language Server
  • Zfp - High throughput library for compressed floating-point arrays
  • Zeal - Offline documentation browser
  • Zapcc - C++ caching compiler based on clang
  • Zanata-platform - Web-based translation platform
  • Zanata-cli - Zanata Java command line client
  • Z88dk - Complete Z80/Z180 development kit
  • Z80ex - ZiLOG Z80 CPU emulator library
  • Z80asm - Assembler for the Z80 microprocessor
  • Z80-asm - Z80 assembly code assembler and disassembler