gpt4 book ai didi

ocaml - 如何将我的 OCaml 代码编译成独立的字节码可执行文件?

转载 作者:行者123 更新时间:2023-12-04 18:06:11 25 4
gpt4 key购买 nike

我想将我的 OCaml 项目编译成一个可执行文件,该可执行文件可以在其他未安装 OCaml 的计算机上运行。使用 ocamlbuild,当我编译一个“.native”文件时,它在其他机器上运行良好,但如果我编译一个“.byte”文件,它会失败并显示 Cannot exec ocamlrun当我尝试运行可执行文件时的消息。

由于我的程序的字节码版本在文件大小方面要小得多,我更愿意分发它而不是 native 代码。有没有办法在编译时将 ocamlrun 捆绑到可执行文件中?

最佳答案

您需要以自定义模式编译,来自 ocamlc 用户 manual :

-custom

Link in “custom runtime” mode. In the default linking mode, the linker produces bytecode that is intended to be executed with theshared runtime system, ocamlrun. In the custom runtime mode, thelinker produces an output file that contains both the runtime systemand the bytecode for the program. The resulting file is larger, but itcan be executed directly, even if the ocamlrun command is notinstalled. Moreover, the “custom runtime” mode enables static linkingof OCaml code with user-defined C functions, as described in chapter

Unix: Never use the strip command on executables produced by ocamlc -custom, this would remove the bytecode part of the executable.


如果您使用的是 oasis那么您只需要添加 Custom : true字段到您的可执行部分,类似地,对于 ocamlbuild , 添加 -tag custom或将自定义放入 _tags .

关于ocaml - 如何将我的 OCaml 代码编译成独立的字节码可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27547289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com