Erlangのビームファイルがどのようにポータブルですか?

StackOverflow https://stackoverflow.com/questions/2255658

  •  20-09-2019
  •  | 
  •  

質問

私は、ビームのファイルが一つのノード上でコンパイル一時的な状況を持っています 別のノード上で実行されています。ビーム・ファイルは、ポータブルていますか?

アーラン分布のバージョンはする必要がありますどのように近い?

役に立ちましたか?

解決

彼らはErlangのVMによって解釈されるバイトコードしているとして

ビームファイルは、Javaが動作するのと同じ方法で、ノード間で移植されています。彼らはおそらくWindowsマシン間のより明らかに他の、非常に移植性がありませんよ。その場合には、ネイティブの最適化(+ネイティブ)、用にコンパイルしている場合は例外です。 (編集2年後:あなたはおそらくアーランの通信用途に見つけることとして、同一のハードウェアおよびソフトウェアのセットアップを持ってもマシン)

バージョン賢明な、それはあなたが最も古いバージョンでサポートされていない機能を使用してはならないことは明らかです。限りの機能がサポートされているとして、それがバージョンのギャップが大きい場合でも動作するはずです。

いくつかのモジュールは、以前のバージョンで実験されている可能性があり、したがってその機能がわずかに異なる結果を持っていたかもしれないことにも注意してください。

他のヒント

ビーム・ファイルには、ノード間で公平に移植する必要があります。ノードはErlangのVMの異なるバージョンを実行している場合は、トラブルがあるかもしれません。特に警戒すべき特徴は、パラメータ化モジュールの使用および-extends()モジュールの属性を含みます。マシンのいずれかが(すなわち、aptの)パッケージマネージャを介してインストールされたVMを実行している場合、それはおそらく古いです。私は過去に難しさを持っていた1つのモジュールは、正規表現モジュールreです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top