sc/memory-map
Sergi Vladykin 2fa40dd436
Zig CC cross-compilation support for Windows on Linux host. (#128)
Zig CC cross-compilation support for Windows on Linux host
2023-12-21 10:50:39 +03:00
..
2022-12-07 00:55:43 +03:00
2022-08-20 18:56:21 +03:00
2021-02-07 22:31:04 +03:00
2023-06-03 00:37:11 +03:00

Mmap

Mmap wrapper

  • Basic mmap wrapper for Posix and Windows.

#include "sc_mmap.h"

#include <assert.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
    int rc;
    struct sc_mmap mmap;

    rc = sc_mmap_init(&mmap, "x.txt", O_RDWR | O_CREAT | O_TRUNC,
                      PROT_READ | PROT_WRITE, MAP_SHARED, 0, 15000);
    assert(rc == 0);

    void* ptr = mmap.ptr;
    size_t mapped_len = mmap.len;

    printf("mapped len : %zu \n", mapped_len);

    *(char*)ptr = 't';

    sc_mmap_msync(&mmap, 0, 4096);
    sc_mmap_term(&mmap);

    return 0;
}