2009-07-04 14 views

答えて

4

Java Native Interfaceを使用すると、C++とJavaの間で何かを渡すことができます。

+0

とJavaからC++はどうですか? – Partial

+1

JNI両方向をサポートしています。それは難しいかもしれませんし、よりよい解決策があるかもしれませんが、JNIについて少し読むことはあなたの質問の多くに答えるでしょうし、一般的に有益な知識です。 – Duck

+3

現時点では、JNAは、やや高水準のJavaネイティブインタフェースとして普及しているようです。 –

1

g ++を使用している場合はCNIもチェックしてください。 JNIが同じ方法であるかどうかはわかりませんが、基本的にはC++を使用してJVM内に書き込むだけです。つまり、純粋なC++オブジェクトをJavaに渡すことはできません。代わりに、すべてがObjectから派生しなければなりません。

+0

「オブジェクトから派生する」とはどういう意味ですか? – Partial

2

自分でSwigを好む。それはあなたが望むどんな方向でもコールを許可するためのJNIのラッピング、マルチスレッドなどです。それはJava、Python、Perlなどを含む複数の言語でも動作します...

SwigもC++コードとして移植可能です - LinuxとWindowsで私自身を使ってC++コードをJavaとPythonに橋渡しします。

関連する問題