Java(GCJ)からのC ++コードの呼び出し
-
24-10-2019 - |
質問
CNIを使用してGCJを使用してJavaからC ++を呼び出そうとしています。これまでのところ、C ++からJavaコードを呼び出すことができます。 CNIを使用してJavaからC ++を呼び出すにはどうすればよいですか?
解決
私はPCENTの答えをいくらか拡張して読みます GCJ/CNIドキュメント.
重要なのは、「CNI C ++クラス」の概念全体を理解することだと思います。
- CNI C ++クラスの作成はで説明されています そのページ.
- CNI C ++クラスからJavaコードを呼び出すことができます(ヘッダーファイルを生成した場合) - それがすでに行っていることです(C ++のJavaを呼び出します)。
- 重要なポイントはそれです CNI C ++メソッドはJavaから呼び出すことができます (これらのクラスには、Java互換性のあるものにするための一連の制限があるため)。また、CNIクラスは(特定の種類の)C ++クラスにすぎないため、C ++クラスをリンクするのと同じように、他のライブラリにリンクすることもできます。
ほとんど ドキュメンテーション JavaコンベンションがCNI C ++クラスでどのように翻訳されるかについて説明します。
他のヒント
読んでみてください GCJ/CNIドキュメント
私は優れたJavaプログラマーではありませんが、C#/C ++ Interopに慣れています。ネイティブC ++から管理されたC#に電話するのに最適なソリューション コールバック. 。これも当てはまると思います Jni
読んでみてください: http://www.tidytutorials.com/2009/07/java-native-interface-jni-example-using.html
所属していません StackOverflow