CNIを使用してGCJを使用してJavaからC++を呼び出そうとしていますが、これまでのところC++からJavaコードを呼び出すことができます。CNI を使用して Java から C++ を呼び出すにはどうすればよいですか?
2321 次
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 に答える