为了账号安全,请及时绑定邮箱和手机立即绑定

转到 Windows 将 Flag 传递给内存映射系统调用

转到 Windows 将 Flag 传递给内存映射系统调用

Go
ITMISS 2021-11-29 19:13:43
在 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)但是我没有看到CreateFileMappingWindows 的任何标志参数。有人知道如何传递标志来CreateFileMapping发挥作用syscall.MAP_SHARED|syscall.XXX吗?
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

看起来您可以从该 syscall 的 Windows 参考中获取保护标志的整数值。似乎没有与 Unix-y 标志的一对一映射,例如,没有共享地图的标志,当您传递文件名时,似乎默认情况下您会获得共享地图。


查看完整回答
反对 回复 2021-11-29
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信