有没有可能从Clojure调用C++库,例如CGAL或VTK?如果将C++函数包装在C接口函数中,是否可以像Haskell使用c2hs工具和其出色的C FFI一样完成此操作? 我能从C++调用Clojure代码吗?这个问题是相反的。
您有几个选择: 您可以像Java一样通过 JNI(Java Native Interface)来完成。这里有一个使用Clojure的JNI完整示例。 还有一个JNA项目,它允许访问本地库而不需要编写桥梁,因为JNI需要。这里有一个旧的(2009年)博客介绍如何在Clojure中使用JNA。 对于C ++,更好的选择可能是JavaCpp。 通过Swig生成Java绑定,然后像普通Java方法一样访问它们。