假设我有一个OCaml库文件foo.cma。有没有一个命令行工具来打印函数和其他类型的签名? ocamlbrowser实用程序似乎是基于Windows的(抱怨$ DISPLAY环境变量)。用例是,我做了:从控制台检查库(.cma)签名
ocamlc -c foo.cma main.ml
,并得到:
File "main.ml", line 13, characters 33-47:
Error: Unbound value ListUtil.split
ListUtil.split应该驻留在foo.cma,但我不知道一个基于控制台的工具来验证它。
是的,这很有用,但它假定知道在cma文件中一起编译的模块的名称。例如,如果我有一个文件foo.cma,里面有两个单独的模块,比如说foo1和foo2,编译成如下形式:'ocamlc -a foo1.cmo foo2.cmo -o foo.cma'那么有没有办法获得在.cma文件中找到所有模块的列表,还是必须事先知道这些名称?在任何情况下都很奇怪,控制台实用程序不是开箱即用的。 – 2012-03-19 13:23:37
使用顶级方法,可以看到cma文件中的所有模块。要事先了解该模块,您必须在源文件中检查mli文件或者没有。否则,我真的不知道该怎么做。 – cago 2012-03-19 13:50:05