这些示例是为“beam”编写的,但其他版本(如“beam.smp”或“beam.debug.smp”)可能存在(取决于您的配置)。
属性存储在编译后的代码中,可以通过调用Module:module_info(attributes)或通过使用beam_lib(3)STDLIB中的模块来获取。 几个模块属性具有预定义的含义。
2.5Myth:BEAM是一个基于堆栈的字节码虚拟机(因此速度较慢) BEAM是基于注册表的虚拟机。它有1024个虚拟寄存器,用于保存临时值和调用函数时传递参数。
Filename是一个绝对文件名或只是文件的名称,例如"lists.beam"。如果内部路径设置为加载器,则使用此路径查找文件。FullName是获取文件的完整名称。Bin是二进制文件的内容。
如果由其模块名称指定,则Module.beam在当前路径中搜索目标代码。Module.erl首先在与目标代码相同的目录中搜索源代码,然后在其src旁边的目录中搜索源代码。
有关详情,请参阅beam_lib(3)。 {debug_info,{Backend,Data}} 包含自定义调试信息,以编译梁模块中的Backend自定义Data模块形式提供。
实例 假设您有一个名为projects其中有三个药剂项目:elixir,,,ex_doc,和plug.你可以找到所有.beam中的文件。
运行目标代码的当前抽象机被称为BEAM,因此目标文件获得后缀.beam。编译器也可以生成一个可以直接加载的二进制文件。 编译器位于模块中compile(请参阅compile(3)编译器中的手册页)。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
