3

Dialyzer PLT の出力を別のアーキテクチャの別のマシンにコピーして使用できますか? たとえば、x86_64 Linux マシンで PLT ファイルを作成しました。x86 FreeBSD または Windows マシンでファイルを使用できますか?

4

3 に答える 3

2

DialyzerのPLTをコピーすることは可能ですが、両方のマシンのPLTに含まれるすべてのファイルに対して2つの前提条件が必要です。

  1. 同じ絶対パス:Dialyzerは、PLT内のすべてのファイルの絶対パスを保存します。したがって、各マシンで実際のファイルを見つけるには、それが同一である必要があります。
  2. 同じバージョン:含まれている.beamファイルごとに、PLTは関連するソースコードのMD5チェックサムを保存します(debug_infoが有効になっているため、ビームファイルに埋め込まれています)。1行しか変更されていない場合、MD5は異なり、Dialyzerはファイルが変更されたと見なし、PLTに保存されている情報を再計算します。
于 2011-08-04T14:15:35.167 に答える
2

ダイアライザー plt ファイルがバイナリ形式であることを考慮すると、32/64 ビットのいくつかの要素のバイナリ サイズに関して問題が発生する可能性があり、リリースとリリース間で移植できない可能性のある erlang リリースに関するメタデータが存在する可能性があります。

ところで、dialyzer plt ファイルのコンパイルには 30 分もかからず、その後はコマンド ラインで編集できます。そのため、単にファイルを再作成するのではなく、ファイルを移動する必要があります (これには、その特定のリリースのダイアライザー ファイルが常に存在するという利点もあります)。とアーキテクチャ)?

于 2011-07-23T14:49:27.207 に答える
1

Twitter の @andrewtj が Kostis Sagonas の言葉を教えてくれました。Kostis は、2 台のマシンが同一の構成である必要がある場合、PLT ファイルのコピーが可能であると書いています。(同じ構成にするのは簡単ではないと思いますが…)

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

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

于 2011-07-23T14:02:57.823 に答える