【问题标题】:Can Erlang interface to Go like it does with C (e.g. NIF)?Erlang 可以像使用 C(例如 NIF)那样与 Go 交互吗?
【发布时间】:2017-02-13 07:03:41
【问题描述】:

我的 Erlang 项目中有一个 C NIF,由于它依赖的库(不稳定的库或我需要的不存在的库),它有局限性。我认为我可以在 Go 中做我想做的事。 Erlang 可以像这样与 Go 交互吗?

【问题讨论】:

  • 我想没有。但是你可以看看this answer 和this。
  • 不是您问题的答案,但您可以查看Go-node。它使用标准的 Erlang 分布式消息传递。

标签: erlang erlang-nif


【解决方案1】:

把上面的cmets总结成一个答案:

  1. 没有简单的 Go NIF 之类的东西
  2. 需要进行中等权重的外部调用的标准 Erlang 方法是编写端口驱动程序。 There's an example of calling Go from Erlang in this answer。
  3. 更重量级的解决方案是实现分发接口,做一个完整的外部节点。 There's some code to do this that might be interesting。
  4. 如果你真的想创建一个 Go NIF,你会想为 Go 编写一个 C 接口,然后将该 C 接口称为你的 NIF。

【讨论】:

    猜你喜欢
    • 2015-08-03
    • 2019-04-18
    • 2012-02-18
    • 2012-06-23
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2021-09-09
    • 2014-12-19
    相关资源
    最近更新 更多