2009-07-04 115 views

回答

4

使用Java Native Interface你可以传递C++和Java之间的任何东西。

+0

以及从java到c + +? – Partial 2009-07-04 16:16:18

+1

JNI支持两个方向。这可能会非常棘手,并且可能会有更好的解决方案,但是阅读关于JNI的一些信息将回答您的许多问题,并且通常具有有用的知识。 – Duck 2009-07-04 16:27:43

1

如果使用g ++,也检出CNI。不知道JNI是否是相同的方式,但你基本上只是使用C++在JVM中编写代码。也就是说,你不能将纯粹的C++对象传递给Java。相反,一切都必须来自Object。

2

我自己更喜欢Swig。它可以为你打包任意方向的调用,多线程等。它也可以用于多种语言,包括Java,Python,Perl等等。

Swig也是可移植的,因为你的C++代码是 - 我自己在Linux和Windows上使用它来将我们的C++代码连接到Java和Python。