Erlang:C++绑定最先进的技术?

Alf*_*oli 2 c++ erlang binding

我正在评估在Erlang中绑定我的C++项目.我的项目大量使用模板和方法重载,所以有这样的事情并不罕见:

template <typename T, class Iterator = BufferIterator<T> >
class Buffer
{

public:
    [...]
private:
    [...]
};
Run Code Online (Sandbox Code Playgroud)

我听说Erlang中的计算模型与"传统"编程语言略有不同.在Erlang中,节点似乎是第一类组件,其中消息从Node流向另一个节点.在这种情况下,有可能,例如:"这是一个int列表.将它发送到C++节点,它将它转换为Buffer <int>对象,对它执行一些操作,然后将结果转换回一个新的Erlang列表"?我在网上看到过一些像tinch ++这样的项目,看起来很有希望,但根本不稳定.每种提示,链接或代码片段都会非常受欢迎.

提前谢谢,A.

Ale*_*nov 5

请参阅互操作性教程.

要与C和C++连接,您不需要创建节点.端口驱动程序或NIF(本机实现的功能)可能是更好的选择.无论如何,您的C++节点/端口驱动器/ NIF将从二郎接收消息/参数为特定的数据结构:ETERM,ErlDrvTerm,或ERL_NIF_TERM.然后你检查一下这个术语是什么样的(例如,如果它是一个整数列表),并且可以将它转换成你需要的任何东西.