在OCaml中编译和运行

时间:2015-12-01 19:46:13

标签: ocaml

我是OCaml的新手,我想知道如何将ocaml代码写入文件,然后编译它以便随时运行它。 现在我通过在mac或linux终端输入ocaml并编写代码来使用OCaml,但是当我完成并关闭软件后,我将失去所有的工作。

3 个答案:

答案 0 :(得分:8)

有很多选择,但最简单的(我认为)是使用ocamlbuild。如果您的代码位于文件program.ml中,那么

ocamlbuild program.native

会将您的程序编译为本机二进制文件,以便您可以像以下一样简单地运行它:

./program.native

还有一个快捷方式,允许您将程序编译和运行为一个操作:

ocamlbuild program.native --

您可以在--符号后将参数传递给您的程序。

如果您的程序包含多个文件,那不是问题,因为ocamlbuild将扫描它,并以正确的顺序自动构建所有依赖项。

如果您的程序需要外部库,则可以使用-pkg-pkgs选项指定它们。像这样:

ocamlbuild -pkg lwt program.native

答案 1 :(得分:5)

我正在考虑这个教程 - Compiling OCaml projects可能有所帮助。它描述了编译OCaml的基础知识。它深入讨论了ocamlcocamlopt编译器以及其他编译器工具。

答案 2 :(得分:0)

如果您使用的是Jane Street的Core,则应考虑使用命令corebuild进行编译,其中包括ocamlbuild之后的一堆默认值:

ocamlbuild \ -use-ocamlfind \ -pkg core \ -tag "ppx(ppx-jane -as-ppx)" \ -tag thread \ -tag debug \ -tag bin_annot \ -tag short_paths \ -cflags "-w A-4-33-40-41-42-43-34-44" \ -cflags -strict-sequence \ "$@"

我得到了here