【问题标题】:Can Erlang file create .beam file for the imported Erlang file?Erlang 文件可以为导入的 Erlang 文件创建 .beam 文件吗?
【发布时间】:2020-07-17 09:59:08
【问题描述】:

Erlang文件可以为导入的Erlang文件创建.beam文件吗?

例如我有test1.erltest2.erl 文件,test1.erl 被导入到test2.erl。然后编译test2.erl 使用

erlc test2.erl

那么,它会只创建test2.beam 还是 test1.beamtest2.beam?

【问题讨论】:

  • 不要使用-import。请参阅Erlang module documentation,它解释了-import 所做的唯一事情是允许导入的函数“以与本地函数相同的方式调用,即不带任何模块前缀”。仅此而已,仅此而已。 Erlang 程序员通常避免使用-import,因为它使代码更难理解。

标签: erlang


【解决方案1】:

你需要编译test1.erltest2.erl这两个文件。

$ erlc test1.erl test2.erl

【讨论】:

  • 在运行 test2.erl 文件而不是独立编译 test1.erl 时,有没有其他方法可以获取 test1.beam 文件??
  • 是的,您可以创建应用程序使用Rebar(rebar3.org) 或ErlangMK(erlang.mk),这些工具将帮助您在构建项目过程中自动编译所有文件。在其他情况下,您需要或手动编译所有文件或使用 bash 脚本创建 Makefile 来执行此操作,例如:github.com/vkatsuba/enn/blob/master/Makefile
猜你喜欢
  • 1970-01-01
  • 2017-08-11
  • 2011-08-06
  • 1970-01-01
  • 2021-09-18
  • 2010-12-20
  • 2017-05-01
  • 2010-12-27
  • 1970-01-01
相关资源
最近更新 更多