【发布时间】:2015-03-29 21:10:08
【问题描述】:
如何在 Erlang 中运行 c 代码?请用简单的例子解释。 基本上我想用这个在服务器上发布数据。我将通过 Erlang 触发 C 代码,然后这个 C 代码将数据发布到服务器。
【问题讨论】:
如何在 Erlang 中运行 c 代码?请用简单的例子解释。 基本上我想用这个在服务器上发布数据。我将通过 Erlang 触发 C 代码,然后这个 C 代码将数据发布到服务器。
【问题讨论】:
这个问题经常出现:one of the best answers is here
我还会添加ports。不要将它们与端口驱动程序混淆:ports vs port drivers
对于您的用例,端口应该是最佳选择。 Nifs 可以使 Erlang VM 崩溃,因此它们仅用于优化关键代码。端口驱动程序也有类似的问题。 C 节点模仿 Erlang VM,我还没有看到它们的好用例。
端口只是普通的操作系统进程,带有用于与 Erlang VM 通信的协议。当您想从 Erlang 调用一些 C 代码时,这通常是默认方式。
【讨论】: