2

Ctypesライブラリを使用して、OCaml コードから直接 C のルーチンを呼び出す方法を学ぼうとしています。

この基本的な例には、2 つのファイルがあります:hello.mlhello.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 テンプレートを使用します。これは非常に簡単だからです。

4

1 に答える 1