mmap_private - memory map a file for reading and writing
(const char* filename
mmap_private opens filename
for reading and writing, maps the whole file
into memory, closes the file, writes the length of the file to filesize
and returns a pointer to the mapped file.
The file is mapped copy-on-write. Changes done to the mapped region will not be
written to disk.
The file is unmapped by the operating system if the process terminates. It can
also be manually unmapped by calling munmap
If the file could not be opened or mapped, (void*)0 is returned.