Frage

Ich habe eine vorübergehende Situation, in der auf einem einem Knoten zusammengestellte Strahldateien auf einem anderen Knoten ausgeführt werden.Sind die Beam-Dateien portabel?

Wie ähnlich müssen die Versionen der Erlang-Distributionen sein?

War es hilfreich?

Lösung

Beam-Dateien sind knotenübergreifend portierbar, da es sich um Bytecode handelt, der von der Erlang-VM auf die gleiche Weise interpretiert wird wie Java.Die Ausnahme besteht darin, dass sie für die native Optimierung kompiliert werden (+nativ). In diesem Fall sind sie offensichtlich nicht sehr portierbar, außer möglicherweise zwischen Windows-Rechnern.(zwei Jahre später bearbeiten:auch Maschinen, die über identische Hardware- und Software-Setups verfügen, wie man sie möglicherweise in Telekommunikationsanwendungen von Erlang finden würde)

In Bezug auf die Version ist es offensichtlich, dass Sie keine Funktionen verwenden sollten, die die älteste Version nicht unterstützt.Solange die Funktionen unterstützt werden, sollte es auch bei großen Versionslücken funktionieren.

Beachten Sie auch, dass einige Module möglicherweise in früheren Versionen experimentell waren und ihre Funktionen daher möglicherweise zu leicht unterschiedlichen Ergebnissen geführt haben.

Andere Tipps

Beam-Dateien sollten ziemlich tragbar sein über den Knoten. Wenn Knoten verschiedene Versionen des Erlang VM laufen, dann könnten Sie Probleme haben. Eigenschaften als besonders vorsichtig bei der Verwendung von parametrisierte Module umfassen und die -extends () Modul-Attribut. Wenn einer der Maschinen ist eine VM ausgeführt wird, der über einen Paket-Manager installiert wurde (das heißt apt), dann ist es wahrscheinlich. Ein Modul, dass ich in der Vergangenheit hatte Schwierigkeiten haben, ist der reguläre Ausdruck Modul re.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top