2

オープンソースの ML で書かれたソフトウェア Unison をインターネットからダウンロードしました。関数の一部を再利用したいと考えていますが、私のプロジェクトでは C 言語を使用しています。ML で書かれたインターフェイス (関数) を C 言語で呼び出す方法はありますか? Windows で C++ を使用して Dll で関数を呼び出すなど、外部 ML 関数を呼び出す方法がいくつかあることを願っています。

以下の3つの方法が考えられると思います。

1.ML コードを C に移植する。

2.ML コードをコンパイルし、アセンブリ言語の関数アドレスで関数を呼び出します。

3.ソケットなどのプロセス間通信方式を利用する。

しかし、もっと効果的で効率的な方法が必要です。ソフトウェアには約 30000 行の ML コードがあります。

4

1 に答える 1

2

Unison が記述されている ML 方言である OCaml は、C とのインターフェイスを備えています。リファレンス マニュアルには、その方法を説明する章があります: http://caml.inria.fr/pub/docs/manual-ocamlを参照してください/manual033.html#toc148 OCaml -> C の方法。

于 2013-01-08T09:30:15.850 に答える