问题标签 [beam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
297 浏览

c - 修改 Erlang VM Pid

如何更改Erlang VM以将随机 128 位值用于其中一个 pid 值?

此时我可以设置的最大值似乎是:

看起来 pid 的生成归结为以下内容erts/emulator/beam/erl_ptab.h:283

0 投票
1 回答
887 浏览

erlang - 为什么 nif 函数会阻止 Erlang VM 调度其他进程?

当 Erlang VM Beam 运行一些用 C 编写的代码时,其他用 Erlang 编写的进程没有被调度。例如:

当你在 Erlang 中调用这个 C 函数时,其他进程没有正常调度。我想知道为什么?这是一个特性还是受实现的限制(即这是一个错误)?

上面代码的地址在:https ://github.com/davisp/sleepy

0 投票
1 回答
384 浏览

erlang - 为什么下面的代码会导致 Erlang HiPE 编译器崩溃?

代码如下:

编译这段代码erlc没有报错,编译正常。但是当我用 编译它时erlc +native,编译器崩溃了,信息如下:

我在: http ://erlang.2086793.n4.nabble.com/internal-error-in-native-compile-td2298937.html中找到了这段代码。但我无法获得有关此代码为何会使编译器崩溃的更多信息。

0 投票
2 回答
1042 浏览

erlang - 将 Elixir AST 转换为 Erlang AST?可能吗?

是否可以像这样引用 Elixir 表达式(AST 树):

并将其转换为 Erlang AST?

我查看了代码模块以及一些内核模块,寻找执行此操作的函数,但我没有找到任何东西。我什至不确定这是否可能......我不知道像 Elixir 宏这样的东西将如何在 Erlang AST 中表示。

提前致谢!

0 投票
1 回答
5225 浏览

ubuntu - Rabbitmq 监听所有接口

尽管:

在 /etc/rabbitmq/rabbitmq.config 中:

在 /etc/rabbitmq/rabbitmq-env.conf 中:

当我运行netstat -uptan | grep 梁我得到:

我如何使光束不听0.0.0.0:33551

0 投票
3 回答
430 浏览

eclipse - 在终端内重新加载/重新编译/刷新 .beam 文件

我使用 Eclipse 和 Erlide 在 Erlang 中进行开发。为了运行该软件,我使用终端进入ebin/目录,因为我不喜欢 Eclipse 提供的控制台。但是,每次更改后,我都必须退出并在终端中重新输入 erl 以重新加载.beam已更改的文件。Eclipse会在每次保存后自动将新.beam文件生成到目录中。ebin/

我知道我可以使用c(filename)命令手动编译它,但这需要我移动到src/目录,编译文件,然后将它们移回ebin/目录。这需要更多的工作,而不仅仅是退出和进入 Erlang 终端。我听说过makefile,但我不知道它们是否可以在Erlang 终端中运行。我不想退出终端的原因是因为我会丢失以前命令的历史记录。如果我使用的是长名称的模块:方法,那么每次更改都会花费大量的输入时间。

在 Erlang 终端中,是否有任何方法可以重新加载当前目录中的 .beam 文件?或者有什么办法可以加载 Erlang 终端之前的命令历史记录?

0 投票
2 回答
88 浏览

list - Erlang 列表理解奇怪的行为

我现在学习 Erlang 和列表推导,并发现了一个奇怪的(对我而言)问题。所以我有一个简单的列表理解,有一个简单的公式,没有过滤器:

正如我所料,输出是正确的:gen_list([2,3,4]). [4,9,16]然后我这样做:

并且输出再次正确:gen_list([2,3,4]). [16,81,256]. 但是当我将公式定义为:gen_list(List)-> [N*N*N || N <- List].我得到下一个输出:gen_list([2,3,4]). "\b\e@".

这是什么:"\b\e@"?? 为什么只有当我有三个N时才得到它?我什至可以这样写公式:N*N*N*N*N*N*N*N,并且输出再次将如我所料。但是用三个 NI 总是得到这么奇怪的结果。有人可以为我解释一下吗?

我使用 ArchLinux 和 GNU Emacs。

0 投票
0 回答
356 浏览

erlang - Erlang beam_lib 块坏了?

我试图反编译 .beam 文件(从长生不老药代码编译)

我用了这个脚本

其中生成了一个文件。但是在再次编译此代码时,我在“-spec”注释上遇到错误

代码不变。它与新的 Erlang 版本有关还是我做错了什么?

Erlang 规范错误

0 投票
1 回答
517 浏览

python - 使用 Elixir、erlport 和 Python 2.7.9,收到一个 arity 错误

我正在尝试将 Python 与 Elixir 一起使用,并编写了以下功能代码(您可以在此处找到我正在构建的存储库:https ://github.com/arthurcolle/elixir_with_erlport )

我可以运行iex -S mix run,然后输入 Snake.py,我将得到以下输出:

"hey there" :undefined

好,太棒了。

然后我尝试通过将上面的两行替换为:

{:ok, pp} = :python.start() :python.call(pp, :sys, :version, [])

但是当我运行它时,它给了我这个arity错误

** (FunctionClauseError) no function clause matching in :erlport.call/5 src/erlport.erl:87: :erlport.call(#PID<0.108.0>, :sys, 'version.__str__', [], [])

这对我来说没有任何意义,因为我的电话只是一个:erlport.call/4,最后有一个列表(不是它所说的 2)。

0 投票
1 回答
5818 浏览

architecture - Elixir 编程语言在 iex 中的 BEAM 代表什么?

字母 BEA 和 M. 代表什么?我记得看到首字母缩略词“BEAM”的解释,但我没有设法再次找到它。

它出现在错误代码中:

因此,.beam 文件似乎存在某种问题,可能是由于我使用了 vi。(注意 Elixir 程序员:不要编辑 .beam 文件,这很痛苦。)

这个问题解释了 BEAM 虚拟机什么,而不是字母代表什么。而且似乎很难快速找到关于词源的很多信息,或者在Erlang central上找到重点。据说BEAM 是 Erlang 和 Elixir 的秘方。