我是OCaml的新手,我想知道如何将ocaml代码写入文件,然后编译它以便随时运行它。
现在我通过在mac或linux终端输入ocaml
并编写代码来使用OCaml,但是当我完成并关闭软件后,我将失去所有的工作。
答案 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的基础知识。它深入讨论了ocamlc
和ocamlopt
编译器以及其他编译器工具。
答案 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。