gpt4 book ai didi

compilation - Erlang 编译 - Erlang 作为独立的可执行文件

转载 作者:行者123 更新时间:2023-12-03 10:43:06 27 4
gpt4 key购买 nike

有没有办法将 Erlang 编译为独立的可执行文件?
这意味着,在没有 Erlang 运行时的情况下将其作为 exe 运行。

最佳答案

虽然可以将所有内容打包在一个 EXE 中,但您不会摆脱 Erlang 运行时。例如,由于它们的性质,像 Erlang 这样的动态语言不能真正编译为 native x86 代码。那里一定有翻译。

可以想出一个方案,将解释器和所有 BEAM 文件捆绑到一个 EXE 中,您可以双击并直接运行,但这可能比您想要的工作要多。我以前看过它,但很少有充分的理由这样做,所以我不会费心在这里详细介绍这些技术。

相反,我建议您使用与 Python 的 py2exe 和 py2app 程序相同的技术来分别创建 Windows 和 Mac OS X 可执行文件。这些程序将程序的主模块加载到 Python 解释器中,使用该语言的内置反射机制确定它需要哪些其他模块,然后写出所有这些编译的模块以及语言解释器的副本和一个小型包装程序使用解释器启动程序的主模块。包含这些文件的目录是一个独立的环境,拥有运行程序所需的一切。 Erlang 案例中的唯一区别是 python.exe 变为 erl.exe,而 *.pyc 变为 *.beam。基本思想还是一样的。

如果您不需要它与任何任意 Erlang 程序一起工作,您可以简化这一点,而只需要您自己的程序。在这种情况下,您只需将 Erlang 解释器和构成程序的所有 .beam 文件复制到一个目录中。例如,您可以将这部分作为程序 Makefile 的一部分。

然后,您可以使用您最喜欢的 setup.exe 或 MSI 创建方法来创建一个可分发的包,将这个文件集合安装到 c:\Program Files\MyProgram在最终用户的系统上,并在他们的开始菜单中为“erl mainmodule.beam”创建一个快捷方式。最终用户并不关心作为程序的一部分,他们还会获得一份 Erlang 的副本。这是一个实现细节。

关于compilation - Erlang 编译 - Erlang 作为独立的可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1795628/

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