最近我必须阅读一些用OCaml编写的源代码。在阅读有关OCaml的资料后,我开始阅读源代码。当我编译源代码时,出现了问题。 编译器错误的部分如下:
设b = [| 0X2; 0xC的; 0XF0;为0xFF00;为0xffff0000; 0x7fffffff00000000 |]
错误消息表明这是一个整数范围问题。我知道OCaml中的整数范围是-2 ^ 30~2 ^ 30 - 1,因而导致了这个问题。但源代码来自其他人可以使用它的项目。我怎样才能正确编译?有人可以告诉我一些细节吗?
答案 0 :(得分:5)
该代码很可能适用于64位OCaml系统。
正如gsg建议的那样,您可以尝试将0x2更改为0x2L,依此类推。如果你很幸运,代码中不会有太多东西要改变。