Erlang:C++绑定是最先进的
Erlang: C++ bindings state of the art?
我正在评估在Erlang中绑定我的C++项目。我的项目大量使用模板和方法重载,所以出现这样的情况并不罕见:
template <typename T, class Iterator = BufferIterator<T> >
class Buffer
{
public:
[...]
private:
[...]
};
我听说Erlang中的计算模型与"传统"编程语言有点不同。在Erlang中,节点似乎是一个第一类组件,具有从一个节点流到另一个节点的消息。在这种情况下,这是可能的,例如:"这是一个int的列表。将其发送到C++节点,C++节点将其转换为Buffer<int>对象,对其执行一些操作,然后他们将结果转换回一个新的Erlang列表"?我在网上看到过一些像tinch++这样的项目,它看起来很有希望,但一点也不稳定。每一种提示、链接或代码片段都会被告知。
提前感谢A.
请参阅互操作性教程。
对于与C和C++的接口,您不需要创建节点。端口驱动程序或NIF(本机实现的功能)可能是更好的选择。无论如何,您的C++节点/端口驱动程序/NIF将从Erlang接收作为特定数据结构的消息/参数:ETERM
、ErlDrvTerm
或ERL_NIF_TERM
。然后检查这个术语的外观(例如,如果它是一个int列表),并可以将其转换为您需要的任何内容。
相关文章:
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 在基于范围的for循环中使用结构化绑定声明
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 视觉studo 2019中的漫画和静态/动态绑定
- 将自由函数绑定为类成员函数
- 将常量指针引用绑定到非常量指针
- 在派生类中绑定非静态模板化成员函数
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- 在 openGL 中多次绑定缓冲区
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 使用结构化绑定'Reflection'
- 为什么 std::绑定错误参数可以成功?
- 如何绑定 C++ gRPC 客户端的网络接口
- 在 openmp 中,omp_get_thread_num是否绑定到物理线程?
- C++绑定(已弃用)
- 运行时错误:引用绑定到类型为"int"的空指针
- 有没有办法将重载的类函数绑定到函数对象?
- 替换 C++17 中移除的绑定 1st