2017-02-23 18 views
0

私はWindowsでcygwin 64ターミナルを使い、このocamlグラフィックスコードをコンパイルしたいと思っています。 それは.mlの種類として保存されています:負荷graphics.cmaオープングラフィックスGraphics.open_graphocamlグラフィックスウィンドウをコンパイルする方法cygwin

そして、私はにはocamlc -OG graphics.cma g.ml を使用する必要があります。

let etat x y c=draw_circle x y 10 ;let a=(x-5) and b=(y-5) in moveto a b ;let s=string_of_int c in draw_string s;; 
etat 100 100 1;; 
etat 200 200 3;; 

私は混乱している間コンパイル?

+0

ocamlbuildを使用してプロジェクトをビルドします。ocamlbuild -use-ocamlfind -pkg graphics .native。依存関係が解決されます。 graphics.cmaとリンクします。あなたのコードでは、このモジュールを開くか、関数にGraphicsを接頭辞として付けることによって明示的に名前空間を開くことによって、そのモジュールの関数を参照する必要があります。 –

答えて

0

は私が間confuedよ:グラフィックスGraphics.open_graph

  • loadを開くgraphics.cma負荷インタラクティブなトップレベルのディレクティブです。これはOCaml言語の一部ではありません。ディレクティブを使用して、インタラクティブトップレベルをコマンドしています。そしてそれはトップレベルにコードをロードするために使用されます。

  • open Graphicsは、モジュールグラフの定義の名前を現在のスコープに持ち込む言語構造です。これにより、Graphics.open_graphの代わりにopen_graphと書くことができます。あまりにも多くのモジュール(もしあれば)を開くのではなく、あなたの名前空間を汚染する可能性があり、あなたのコードを理解しにくくする方がいいです。

  • Graphics.open_graphは、呼び出されると、マシンのグラフィックスウィンドウを開く関数です。

と私はコンパイルするためにはocamlc -oグラムgraphics.cma g.mlを使用する必要があります。

はい、ocamlcを使用してコードをコンパイルできます。 OCamlコンパイラツールチェーンは使いにくいです。しかし、魔法のように動作するはずocamlbuildと呼ばれるコンパイル・マネージャは、あなたが実行することができますg.byte実行ファイルを取得します例えば、

ocamlbuild -pkg graphics g.byte 

、そこにあります。

関連する問題