您可以将透明剂PLT输出复制到另一台不同体系结构的计算机吗?例如,我在X86_64 Linux计算机上构建了PLT文件。我可以在X86 FreeBSD或Windows计算机上使用该文件吗?

有帮助吗?

解决方案

考虑到透明剂PLT文件是二进制形式的,在32/64位的某些元素的二进制尺寸中可能存在一些问题,甚至可能在ERLANG释放方面存在元数据,这在偶数释放和发布之间可能无法移植。

顺便说一句,透明化文件需要少于半小时的编译,并且可以通过命令行进行编辑,因此为什么要移动文件而不是简单地重新创建文件(这也是始终拥有该特定版本的Dialyzer文件的优势和架构)?

其他提示

可以复制透析的PLT,但是您需要两个机器上PLT中包含的所有文件的前提:

  1. 相同的绝对路径: :透析为PLT中每个文件的绝对路径存储。因此,必须在每台计算机上找到实际文件,这是必须相同的。
  2. 相同的版本: :对于包含的每个.beam文件,PLT存储了相关源代码的MD5校验和(由于启用了debug_info而导致的梁文件中嵌入)。如果更改了一条线,则MD5会有所不同,并且透析仪将假设文件要更改并重新计算存储在PLT中的信息。

Twitter上的@andrewtj友善地告诉我Kostis Sagonas的一句话。科斯蒂斯写道,只要 这两台机器必须具有相同的配置. 。 (我认为拥有相同的配置并不容易...)

https://twitter.com/#!/andrewtj/status/94752222941709312

http://groups.google.com/group/erlang-programming/msg/c34baf501eee56c7

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top