原创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface
联系邮箱:cto@188.com

1.获取已加载模块中的所有原子
33> beam_lib:chunks(fac, [atoms]).
{ok,{fac,[{atoms,[{1,fac},
                  {2,state},
                  {3,erlang},
                  {4,'-'},
                  {5,'*'},
                  {6,module_info},
                  {7,get_module_info}]}]}}

2.虚拟机内部的原子索引表(index table)
hash_table用来保存唯一的条目入口
array用来保存顺序
只能插入
索引表保存的是原子、已加载模块、模块导出函数


3.对于一个新启动的erlang/otp,原子索引表中有6842个原子

4.模拟实现Atom table,Export table,Code table
git clone https://github.com/studzien/hack-erlang-vm.git -b v2





Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐