Ctypesライブラリを使用して、OCaml コードから直接 C のルーチンを呼び出す方法を学ぼうとしています。
この基本的な例には、2 つのファイルがあります:hello.mlとhello.c.
hello.ml次のようになります。
open Ctypes
open Foreign
let hello =
foreign "hello" (float @ -> returning void)
;;
let () =
hello 3.15
;;
hello.c次のようになります。
#include <stdio.h>
void hello(double x)
{
if ( x > 0)
printf("hello!\n");
}
これら 2 つのファイルを 1 つの実行可能ファイルにコンパイルするにはどうすればよいですか?
コードを手動でコンパイル/リンクするプロセスは、私には恐ろしく、よく理解できません。コードのコンパイルには通常、Makefile テンプレートを使用します。これは非常に簡単だからです。