我正在玩弄 OCaml。我想知道的第一件事是构建一个 OCaml 项目。现在,我只是想要一些愚蠢的简单的东西,因为我只是在学习。任何人都可以将我指向一个构建系统以及使用该构建系统的“hello world”类型示例吗?
7 回答
ocamlopt 是标准的本地代码编译器。典型的构建语法是:
ocamlopt -o execname module1.ml module2.ml
您可以使用ocamlc
来编译为字节码。
通常标准库已经包含在内。如果你在一个 *nix 系统上,并且想要包含,比如说,unix 库,你会做类似的事情
ocamlopt -o execname unix.cmxa module1.ml module2.ml
cmxa 文件是本机代码库,cma 文件是字节码库。
对于更复杂的构建,有帮助定位库的 ocamlfind 程序。您还可以使用 GNU make 和类似工具。更多信息可以在这里找到。 这是一个关于使用 gmake 的页面。
这是一个不错的“Coder's First Ocaml”页面。
这是我在大学时参加的 Ocaml 课程的讲座页面。不过,不要试图向 Gunter 教授寻求任何提示,如果没记错的话,她是一个邪恶的巨魔。
还有ocamlbuild。对于没有外部依赖的简单项目,它很简单
ocamlbuild prog.native
看看ocaml-make
Markus Mottle 的作品。该项目包括OCamlMakefile
. 将其复制到您的源目录并创建一个Makefile
,例如:
SOURCES = hello.ml
RESULT = hello
-include OCamlMakefile
您可能正在寻找ide。看看了解 OCAML IDE?.
http://www.ocaml-tutorial.org/compiling_ocaml_projects解释了编译基础。在该页面的底部有一个名为Automated build systems
和主题链接的部分Compiling with GNU make
,Compiling with Omake
两者都包括示例。
您可能知道这一点,但万一您不知道,OCaml 包含一个 REPL,您可以使用它来交互式编码,而无需编译。当您第一次学习时,它可能非常有用。
一个崭露头角的项目是OASIS,这是一个非常漂亮的构建系统,由 Sylvain Le Gall 开发。他在他的一堆 OCaml 项目中使用它,我也是。
我还会Makefile
为 Ocaml 添加另一个,用于我的项目。
Ocaml 网站上提供了用法Makefile
和示例。