我正在尝试为调用外部C函数的ocaml代码加载.cmo文件
在我的emacs ocaml toplevel中使用#load "somefile.cmo"
当我这样做时,我收到此错误:
The external function 'some_function' is not available.
有没有办法摆脱emacs toplevel中的这个错误?如何 可以在emacs toplevel中加载C对象文件吗?
答案 0 :(得分:1)
您无法使用cmo
文件自动加载相应的C函数。
如果某个库已正确编译,链接并安装,您可以通过加载其cma
和cmxa
文件来自动加载其C库,不是 cmo
也cmx
。 cma
/ cmxa
个文件可以包含有关应将哪些C dll加载在一起的信息。 cmo
/ cmx
不能。
如何构建cma
/ cmxa
文件,这些文件可以自动加载其相应的C函数,这是一个不同的更高级别的主题。我不掩盖它,因为它似乎不是你的问题。您应该阅读参考maual,19.1.4在http://caml.inria.fr/pub/docs/manual-ocaml-4.01/intfc.html