gpt4 book ai didi

ocaml - OCaml 字节码的可移植性

转载 作者:行者123 更新时间:2023-12-04 23:18:10 29 4
gpt4 key购买 nike

我在 x86 机器上用字节码编译 OCaml 程序,然后将字节码传输到 ppc64 机器。假设 ppc64 机器有 ocamlrun(为 ppc64 编译),我能在 ppc64 架构上执行我的程序吗?就这么简单吗?

换句话说,字节码是否抗字节序?

如果不是,那么字节码的目的是什么?

最佳答案

我假设您不需要任何外部功能;否则你当然需要提供它们的二进制代码。

是的,对于 Ocaml 支持的系统,字节码可以抵抗字节顺序(和字长)。

(但是,您的字节码可能取决于 ocamlrun 解释器的特定版本和程序使用的 Pervasives 模块;因此,Ocaml 4.01 的字节码可能无法在 Ocaml 4.02 运行时运行,反之亦然;YMMV)

特别是当您从 its source code 构建 Ocaml 时,它正在使用 boot/ 的分布式版本(在 ocamlc subdirectory ...)编译自己- 这是一个字节码文件。

Ocaml 的人非常需要这种可移植性,因为大多数 Ocaml 编译器都是用 Ocaml 本身编写的,并且是 bootstrapped .

另见 J.Pitrat 的博客 meta-bugs, curse of the bootstrap这间接解释了为什么要更新 boot/ocamlc Ocaml 团队必须很少和仔细地完成文件。在 Ocaml 代码中,make bootstrap必须偶尔非常小心地完成(至少要提交更新版本的 boot/ocamlc 字节码文件)。

关于ocaml - OCaml 字节码的可移植性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814010/

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