【发布时间】:2013-11-08 04:16:58
【问题描述】:
最近我必须阅读一些用 OCaml 编写的源代码。在阅读了有关 OCaml 的资料后,我开始阅读源代码。当我编译源代码时,出现了问题。 编译器说错的部分如下:
让 b = [| 0x2; 0xc; 0xf0; 0xff00; 0xffff0000; 0x7ffffff00000000 |]
错误消息说这是一个整数范围问题。我知道 OCaml 中的整数范围是 -2^30 ~ 2^30 - 1 ,因此导致了这个问题。但是源代码来自其他人可以使用的项目。我怎样才能正确编译它?有人可以告诉我一些细节吗?
【问题讨论】:
-
如果可行,您可以尝试修补源以使用
Int64.t而不是int。与int不同,Int64.t在机器之间的范围相同。
标签: ocaml ocamlbuild ocaml-batteries