如何用C语言调用ML接口(函数)

时间:2013-01-08 07:39:15

标签: c function call invoke ml

我从Internet上下载了一个开源ML编写的软件Unison,我希望重用部分功能,但在我的项目中我使用的是C语言,有没有办法在C语言中调用ML编写的接口(函数)?我希望可能有一些方法可以调用外部ML函数,例如在Windows上使用C ++调用Dlls中的函数。

我认为可能有三种可能的方式:

1.将ML代码输入C。

2.编译ML代码并按汇编语言中的函数地址调用函数。

3.使用诸如socket之类的进程间通信方法。

但我需要更有效和高效的方法,软件中有大约30000行ML代码。

1 个答案:

答案 0 :(得分:2)

OCaml,其中编写Unison的ML方言可以与C接口。参考手册中有一章描述了如何完成:有关OCaml的信息,请参阅http://caml.inria.fr/pub/docs/manual-ocaml/manual033.html#toc148 - > C路。