是否可以从 Clojure 调用 CGAL 或 VTK 等 C++ 库?如果用 C 接口(interface)函数包装 C++ 函数,就像 Haskell 使用 c2hs 工具及其出色的 C FFI 那样,这是否可能完成?
最佳答案
这里有几种选择:
- 你可以像 Java 那样做 - 通过 JNI (Java Native Interface) .有一个使用 clojure with JNI 的完整示例.
- 有一个JNA project这允许访问 native 库,而无需按照 JNI 的要求编写桥接程序。有一个 old (2009th) blog post关于将 JNA 与 Clojure 结合使用。
- 对于 C++,更好的选择可能是 JavaCpp .
- 通过 Swig 生成 Java 绑定(bind)并像普通 Java 方法一样访问它们。
关于c++ - 从 clojure 调用 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53359255/