2009-07-04 100 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。