Erlang Dialyzer PLT переносимость файлов между различными архитектурами - PullRequest
3 голосов
/ 23 июля 2011

Можете ли вы скопировать и использовать выход Dialyzer PLT на другой компьютер с другой архитектурой?Например, я создал PLT-файл на компьютере с Linux x86_64.Могу ли я использовать этот файл на FreeBSD x86 или Windows-машине?

Ответы [ 3 ]

2 голосов
/ 23 июля 2011

, учитывая, что файл dialyzer plt находится в двоичной форме, могут быть некоторые проблемы в отношении двоичного размера некоторых элементов в 32/64 бита и, возможно, метаданных о выпуске erlang, которые могут не переноситься даже между выпуском и выпуском.

Кстати, файл dialyzer plt компилируется менее чем за полчаса и может быть отредактирован после этого с помощью командной строки, так что зачем перемещать файл, а не просто воссоздавать его (что также имеет преимущество в том, что файл диализатора всегда есть для что за конкретный релиз и архитектура)?

1 голос
/ 04 августа 2011

Можно скопировать PLT Dialyzer, но вам нужно два предварительных условия для всех файлов, включенных в PLT на обеих машинах:

  1. Те же абсолютные пути : Dialyzer сохраняет абсолютный путь для каждого файла в PLT. Поэтому необходимо, чтобы это было идентично, чтобы найти действительные файлы на каждом компьютере.
  2. Те же версии : Для каждого включенного файла .beam PLT хранит контрольную сумму MD5 соответствующего исходного кода (встроенного в файл луча из-за включенной debug_info). Если изменить только одну строку, MD5 будет отличаться, и Dialyzer примет файл, который будет изменен, и пересчитает информацию, хранящуюся в PLT.
1 голос
/ 23 июля 2011

@ andrewtj в твиттере любезно сказал мне цитату из Kostis Sagonas.Костис пишет, что копирование файла PLT возможно при условии, что на двух машинах должны иметь одинаковые конфигурации .(Я думаю, что иметь идентичную конфигурацию нелегко ...)

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

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

...