7

CNIを使用してGCJを使用してJavaからC++を呼び出そうとしていますが、これまでのところC++からJavaコードを呼び出すことができます。CNI を使用して Java から C++ を呼び出すにはどうすればよいですか?

4

3 に答える 3

4

GCJ/CNI Docsを読むために、パーセントの答えを少し拡張します。

「CNI C++ クラス」の概念全体を理解することが鍵だと思います。

  • CNI C++ クラスの作成については、そのページで説明されています。
  • CNI C++ クラスから Java コードを呼び出すことができます (ヘッダー ファイルを生成している場合)。これは既に行っていることです (C++ から Java を呼び出す)。
  • 重要な点は、CNI C++ メソッドを Java から呼び出すことができることです(これらのクラスには、Java 互換にするための一連の制限があるため)。また、CNI クラスは (特定の種類の) C++ クラスにすぎないため、C++ クラスをリンクするのと同じように、他のライブラリにリンクすることもできます。

ドキュメントのほとんどは、Java 規則が CNI C++ クラスでどのように変換されるかを説明しています。

于 2010-06-08T13:32:30.113 に答える
0

GCJ/CNI ドキュメントを読んでみる

于 2010-06-08T12:56:07.540 に答える
-1

私は優れた Java プログラマーではありませんが、C#/C++ 相互運用には精通しています。ネイティブ C++ からマネージ C# を呼び出すための最良の解決策は、Callbacksを使用することでした。これはJNIにも当てはまると思います

読んでみてください: http://www.tidytutorials.com/2009/07/java-native-interface-jni-example-using.html

于 2010-06-08T13:32:34.597 に答える