我正在尝试使用 CNI 使用 GCJ 从 Java 调用 C++,到目前为止,我能够从 C++ 调用 Java 代码。如何使用 CNI 从 Java 调用 C++?
问问题
2321 次
3 回答
4
我将对 pcent 的回答进行一些扩展以阅读GCJ/CNI Docs。
我相信关键是要理解整个“CNI C++ 类”的概念。
- 该页面解释了 CNI C++ 类的创建。
- 您可以从 CNI C++ 类调用 Java 代码(前提是您已经生成了头文件)——这就是您已经做的(从 C++ 调用 Java)。
- 关键是可以从 Java 调用 CNI C++ 方法(因为这些类对它们有一组限制以使其与 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 回答