2010-02-12 11 views

risposta

10

I file Beam sono portatili attraverso i nodi, in quanto sono bytecode interpretati dalla macchina virtuale Erlang, nello stesso modo in cui funziona Java. L'eccezione è se sono compilati per l'ottimizzazione nativa (+ nativo), nel qual caso ovviamente non sono molto portabili, se non tra le macchine Windows. (modifica due anni dopo: anche macchine che hanno identiche configurazioni hardware e software, come si potrebbe trovare negli usi di telecom di erlang)

Versione saggia, è ovvio che non si dovrebbero usare funzionalità che la versione più vecchia non supporto. Finché le funzionalità sono supportate, dovrebbe funzionare anche se il divario di versione è grande.

Si noti inoltre che alcuni moduli potrebbero essere stati sperimentali nelle versioni precedenti e pertanto le loro funzioni potrebbero avere risultati leggermente diversi.

+0

Grazie per la tua risposta e il tuo tempo. I nomi dei percorsi sono "hardcoded" nel file del raggio? – DanM

+0

solo se si specificano i nomi dei percorsi al suo interno. –

7

I file del fascio devono essere abbastanza portabili tra i nodi. Se i nodi eseguono versioni diverse di Erlang VM, si potrebbero avere problemi. Le caratteristiche di cui prestare particolare attenzione includono l'uso di moduli parametrizzati e l'attributo del modulo -extends(). Se una delle macchine esegue una VM che è stata installata tramite un gestore di pacchetti (ad es. Apt), probabilmente è vecchia. Un modulo con cui ho avuto difficoltà in passato è il modulo di espressione regolare re.

Problemi correlati