我在Windows上使用Cygwin 64终端,并希望编译此OCAML图形代码。它保存为.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;;
我之间的困惑:加载graphics.cma open graphics.open_graph
我应该使用ocamlc -o g graphics.cma g.ml编译?
我在以下方面介绍:load graphics.cma open graphics graphics.open_graph
-
load
是交互式台面的指令。它不是OCAML语言的一部分。您正在使用指令来命令交互式台面。它用于将代码加载到Toplevel。 -
open Graphics
是一种语言构造,它将在当前范围内将模块图中的定义名称带入。这使您可以编写open_graph
而不是Graphics.open_graph
。最好不要打开太多的模块(如果有),因为它可能会污染您的名称空间,并使您的代码不那么可理解。 -
Graphics.open_graph
是一个函数,当调用时,将打开计算机中的图形窗口。
我应该使用ocamlc -o g graphics.cma g.ml进行编译。
是的,您可以使用ocamlc
编译代码。OCAML编译器工具链很难使用。但是,有一个称为ocamlbuild的汇编经理,应该像魔术一样起作用,例如,
ocamlbuild -pkg graphics g.byte
您将获得可以运行的g.byte
可执行文件。