【发布时间】:2020-04-05 19:34:26
【问题描述】:
我目前正在进行一个学校项目,我们用 C++ 制作了一个 FuzzyLogicFramework。
现在,我尝试在 Java 中使用这个框架,以便使用该框架做一个 android 应用程序,我在 c++ 项目中有一个名为 FuzzyFactory 的工厂。
其方法的原型是这样的:
Expression<T>* newAnd(Expression<T>*, Expression<T>*);
我不需要使用所有可用的类型,这就是我创建这样一个类的原因:
template<> class FuzzyFactory<float>;
我用这个类生成了一个 DLL 库。
我的问题如下: 我想在 Java 文件中使用这个库:我可以使用什么技术? 我听说过 JNI 并且能够使用它运行基本功能,但是我能够管理对象实例化吗?我如何能够在 Java 中的函数参数中给出指针?我能够使用 JNI 在 Java 中运行我的 c++ 项目 main,但使用 Factory 类似乎在另一个层次上。
我还听说过 wrappers 和 JNA
我只需要有人告诉我要使用的技术,这是我第一次尝试跨语言实现,所以我有点不知所措。
如果您想了解更多关于项目当前状态的信息:https://gitlab.com/MelvinC/languageframeworkproject-ensisa-2020
我的 Java 项目和 c++ 项目应该在同一个 git 存储库中吗?
对不起,我的英语不够好。
提前感谢您阅读和帮助我。
【问题讨论】:
-
C++ 指针的值在 Java 中可以表示为
long。
标签: java c++ templates java-native-interface wrapper