Nat*_*ese 11 architecture acronym elixir lightweight-processes beam
BEA和M.的字母代表什么?我记得看到对首字母缩略词"BEAM"的解释,但我还没有找到它.
它出现在错误代码中:
? gentoo iex
Erlang/OTP 17 [erts-6.4.1] [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]
Interactive Elixir (1.0.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> import Math
08:05:02.839 [error] Loading of /var/opt/proj/elx/ubuntu/Elixir.Math.beam failed: :badfile
** (CompileError) iex:1: module Math is not loaded and could not be found
08:05:02.846 [error] beam/beam_load.c(1104): Error loading module 'Elixir.Math':
non-ascii garbage '78705400' instead of chunk type id
(elixir) src/elixir_exp.erl:123: :elixir_exp.expand/2
iex(1)>
Run Code Online (Sandbox Code Playgroud)
因此,看起来.beam文件存在某种问题,可能是由于我使用了vi.(注意Elixir程序员:不要编辑.beam文件,这很痛苦.)
这个问题解释了BEAM虚拟机是什么,而不是字母代表什么.似乎很难在Erlang中心快速找到关于词源的更多信息.据说 BEAM是Erlang和Elixir的秘诀.
Gaz*_*ler 24
它代表"Bogdan /Björn的Erlang Abstract Machine" - 它只是VM的名称,很像JVM(Java虚拟机).
几乎每个人都使用"新BEAM",其中BEAM代表Bogdan /Björn的Erlang Abstract Machine.这是商业版本中支持的虚拟机.
http://www.erlang.org/faq/implementations.html
该名称可能是从Warren Abstract Machine中找到它的路线 - 这是Prolog的一个抽象指令集,您可以在以下网址阅读:http://en.wikipedia.org/wiki/Warren_Abstract_Machine
WAM影响了JAM(Joe Abstract Machine - 以Joe Armstrong命名),这是BEAM的前身.
您可以在Erlang网站上的" Erlang开发"文章中阅读更多内容.
| 归档时间: |
|
| 查看次数: |
4254 次 |
| 最近记录: |