在 OCaml 中写入和读取内存映射文件

use*_*422 4 ocaml memory-mapped-files

我正在 OCaml 中进行实验,看看如何从内存映射文件读取/写入数值数组。

我想我需要使用 Bigarray 但不确定如何将 Bigarray 数组写入内存映射文件,然后读回?

我似乎在任何地方都找不到例子。我检查了Jane St. core的源代码但没有结果。

rgr*_*erg 5

因为您似乎对使用核心感兴趣:

这是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 的所有更改都将反映在文件中。

不过,您应该接受乔纳森创建的答案。