use*_*422 4 ocaml memory-mapped-files
我正在 OCaml 中进行实验,看看如何从内存映射文件读取/写入数值数组。
我想我需要使用 Bigarray 但不确定如何将 Bigarray 数组写入内存映射文件,然后读回?
我似乎在任何地方都找不到例子。我检查了Jane St. core的源代码但没有结果。
因为您似乎对使用核心感兴趣:
这是map_file来自他们的文档(https://ocaml.janestreet.com/ocaml-core/109.58.00/doc/core/#Bigstring)
val map_file : shared:bool -> Unix.file_descr -> int -> t
Run Code Online (Sandbox Code Playgroud)
map_file 共享 fd n 内存将与描述符 fd 关联的数据的 n 个字符映射到大字符串。如果共享为 true,则对 bigstring 的所有更改都将反映在文件中。
不过,您应该接受乔纳森创建的答案。