从OCaml repl内编译

hyp*_*ean 5 ocaml

我在图阿雷格模式下使用emacs,并且始终在emacs中打开ocaml repl。我想知道是否可以从repl内编译基本的OCaml测试文件,因此我不必将编译作为系统命令运行。

gas*_*che 1

据我所知,没有,但您可以轻松地从 emacs 中运行编译。

如果您使用该M-x compile命令(C-c C-c使用tuareg 模式),编译将以 emacs“编译模式”运行,这非常好用。特别是,它允许您在出现编译错误(或“Cx `”)时直接跳转到代码中的错误位置M-x goto-next-error

使用编译命令,您可以选择(shell)命令来运行编译。您可以直接调用 ocaml 编译器(通常为ocamlc -c foo.ml),或者ocamlfind使用外部库来促进编译,甚至makeocamlbuild您自动执行大部分编译。通常,如果您有一个使用不同源文件的小项目,则使用一个main.ml文件ocamlbuild main.byte将完成从中构建可执行文件的工作。

编辑:当然,您可以使用该函数从顶层调用系统命令Sys.command。但我不明白这一点。