【发布时间】:2023-03-04 20:01:01
【问题描述】:
在 Unix 中,Go 可以做到这一点:
// func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error)
syscall.Mmap(., ., ., ., syscall.MAP_SHARED|syscall.XXX)
在 Windows 中,您可以使用:
https://github.com/golang/go/blob/master/src/syscall/zsyscall_windows.go#L970-L981
// func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error)
syscall.CreateFileMapping(., ., syscall.PAGE_READONLY, ., ., nil)
但对于 Windows,我没有看到 CreateFileMapping 的任何标志参数。
有人知道如何将标志传递给CreateFileMapping 函数,如syscall.MAP_SHARED|syscall.XXX?
【问题讨论】:
标签: memory go system-calls memory-mapped-files