在 OCaml 中使用 uint 包 - opam

using the uint package with OCaml - opam

我刚刚安装了opam并安装了uint包。但是当我尝试做这样的事情时

File : Hello.ml
let ash(mystring) = (
    let basis =   uint64.of_string("0xcbf29ce484221325") in
    Printf.printf "Function Finished" ;
);;

ash("Hello");;

我收到错误

Error: Unbound value uint64

对我可能遗漏的内容有什么建议吗?我是 OCaml 和 opam 的新手

我使用以下语句在我的 OSX 终端中编译代码

ocaml Hello.ml 

很少有问题,您不需要 () 围绕参数,除非您希望它们成为值的元组(也许是您稍后将学习的主题)

Plain ocaml 就像一个解释器,它不知道安装的代码在哪里(也许你习惯于喜欢 python 解释器有几个地方可以查看它自己的第一个)

let ash mystring =
  let basis = Uint64.of_string "0xcbf29ce484221325" in
  Printf.printf "Function Finished"

let () =
  ash "Hello"

假设调用的是hello.ml,你可以用

编译它
ocamlfind ocamlc -package uint -linkpkg hello.ml -o Test

(这是使用 ocamfind 包装器,它为您调用 ocamlc 并告诉它使用 uint 包和 link 它用于最终的可执行文件 Test)

然后 运行 它与

./Test