问题标签 [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 回答
473 浏览

erlang - 将 C 库暴露给 Elixir/Erlang,还是在 Erlang/Elixir 中实现更好?

我的背景是 Perl/Python/node 和少量的 Ruby。我以前没有使用过 BEAM VM 语言。

在 Perl/Python/Node/Ruby 中,如果我想处理“低级”任务——密集计算、需要访问线程,或者更常见的是包装 C 库——我会用 C 编写一些东西。Elixir/Erlang 显然有Erlang 进程形式的出色并行性和非常低的延迟,消除了大部分需求。

因此,如果我有一个 C 库,是制作 Elixir/Erlang 包装器还是重新实现功能更好?

一个非常具体的例子:Elixir/Erlang 的 TLS 是使用 OpenSSL,还是用 BEAM 语言实现?

0 投票
1 回答
750 浏览

erlang - 在 Xeon Phi 上运行 Erlang

如何在英特尔至强融核协处理器上编译 VM 并运行 Erlang 程序?

0 投票
1 回答
83 浏览

java - ALOS 卫星产品到 PNG 的转换问题(缺少旋转)

我正在尝试使用BEAM java API 导出 ALOS AVNIR-2 产品的 PNG quicklook。下图显示了产品的 RGB 预览,它出现在 beam 的 GUI 中。

ALOS 卫星产品快速浏览,根据其地理编码信息旋转。

如您所见,由于其地理编码,图像不是直立的。我开发了一个非常简单的 java 程序来导出产品的 quicklook。

该程序有效,但我从中获得的每个 PNG 图像都是一个直立的 PNG 图像,如下所示。

ALOS Satellite 产品 quicklook,直立。

现在,我知道不可能在 PNG 图像中包含地理编码信息。我只需要重现图像的相同“旋转”。任何的想法?

0 投票
1 回答
679 浏览

erlang - 如何获取 erlang 模块的导出类型?

我有理由检查模块导出的类型,我立即想到“对,然后是 module_info”,但很惊讶遇到了一些困难。我发现我可以从我编译的模块中获取导出的类型,但不能从 stdlib 中的模块中获取。

我的(三个)问题是,我如何可靠地获取模块的导出类型,为什么导出类型在某些模块的模块信息的属性位中,以及为什么某些模块而不是其他模块?

我发现如果我构建这个模块:

然后使用 foo:module_info/0,我得到了这个:

很好,隐藏在“属性”中的是“export_types”。为什么这是在属性中我不太确定,但是......无论如何......

我现在知道这会起作用:

伟大的。所以,我现在知道这会起作用:

啊……没有。

我知道当然有导出类型,如果文档不够好,ets 源显示:

事实上,ets 模块的导出类型信息似乎不在模块信息中的任何位置:

我现在把事情做到极致并运行它,将输出记录到一个文件中:

并不是说我不认为这很荒谬......但无论如何,它大约有 5,000 行输出,但我在任何地方都找不到字符串“tid”的实例。

0 投票
2 回答
2009 浏览

intellij-idea - 在 Intellij 中编译 Erlang

我尝试使用 Erlang 插件在 Intellij 中编译 erl 文件。编译一切都很好,但在输出/生产中,该文件夹不会创建任何文件.beam,当我运行控制台时,我会收到消息:

当我使用c("file").一切都很好。为什么 Intellij 不创建.beam文件?

0 投票
1 回答
767 浏览

config - EXRM - 我可以从 config.exs 文件中设置 vm.args 值吗?

与这个问题有些相关 -在 Elixir Exrm 中参数化节点名称- 有没有办法动态设置 rel/vm.args 文件的内容?

在标题中,我建议使用 config.exs,但我对任何允许我在构建时添加、删除和编辑 vm 参数的方案感兴趣。

一个 bash 脚本可能是一个想法,但也可以在 Windows 上运行,并且最好基于 Elixir 代码的解决方案将是一个想法。

0 投票
0 回答
79 浏览

erlang - Elixir:exrm升级杀死工人

我创建了一个非常基本的 Elixir 主管和工作人员,以测试 Erlang VM 的热代码重载功能。这是主管:

基本上,我正在启动一个任务工作者,即:

这是版本0.1.0。所以我运行这些:

我得到了一个很好的释放。我运行它,./rel/rel_test/bin/rel_test console一切正常。现在我要修改代码和版本,所以这里是0.1.1监听器的版本:

现在我跑

appup创建成功,然后进行热升级

并且升级有效,但升级后它会杀死我的听众。

我用一个nc localhost 9000(9000 是监听器的端口)进行了测试,保持连接并运行升级命令。连接被终止,我在控制台中收到一条消息:

那么为什么会发生这种情况呢?是我缺少的东西,还是预期的行为?不就是热代码重载的用例吗?

我读过LYSE,但作者说运行代码应该继续运行,只有升级后进行的外部调用才能使用新版本。

那为什么要杀工人?

0 投票
2 回答
3262 浏览

erlang - Erlang 整数有大小限制吗?

我知道 Erlang 有任意大小的整数,但是标准实现之一有最大限制吗?如果是这样,是什么?

0 投票
1 回答
2958 浏览

c - 在 Elixir/Erlang 中运行 C 代码:端口还是 NIF?

我发现 Elixir 程序可以通过NIF(本机实现的函数)OS-level ports运行 C 代码。阅读了这些和类似的链接后,我不是百分百清楚何时使用一种或另一种方法(或完全是其他方法?),并且觉得为我自己和其他新手提供直接比较会很好. 谁能提供?

0 投票
0 回答
64 浏览

erlang - Erlang 集群同步问题

我有一个在不同主机上运行的 4 个节点的 erlang 集群。我最近遇到了一个集群问题,即梁进程正在其中一个节点中运行,但应用程序没有运行。我可以看到我的 OTP 应用程序仍在保持客户端连接。客户端连接是 tcp 连接。

每个节点都能够 ping 其他节点,但该节点似乎已停止连接到其他节点。

很奇怪,但几乎发生了同样的事情。你知道他们可能有什么问题吗?

tcp 重传会导致这种情况吗?