我的OCaml代码是用64位编译的

时间:2018-01-14 18:28:40

标签: string ocaml

我正在使用涉及哈希表的ocamlc a(ocaml)代码进行编译,这些代码在运行时变得非常大。

即使等效在C#中运行得非常好(以64位编译),我怀疑我的OCaml代码是以32位编译的,负责抛出内存错误,而内存使用率很低(当异常是2GB时)抛出)。

如何确保生成的.exe是以64位编译的?

编辑。在最大哈希表到达14 344 207元素后不久就会出现错误。

1 个答案:

答案 0 :(得分:2)

您可以按Sys.word_size检查编译器的字大小:

val word_size : int
(** Size of one word on the machine currently executing the OCaml
   program, in bits: 32 or 64. *)

"机器上一个单词的大小"是误导。如果编译器是32位,word_size = 32甚至机器架构都是64位。