我得建立一个图像处理软件。我使用java来显示图像和c++,以实现应用程序的功能。很明显,图像将从C++发送到java,反之亦然。我不知道该选择哪种方法来通信c++和java。我研究并做了大量的研究,最后发现了3种方法:
发布于 2014-09-29 11:41:45
我也在同一问题上工作。作为一种专业的方式,使用JNI从java调用C++ DLL是我上一次基准测试的最佳方法。JNA是另一种方式,但它速度较慢,而且对于某些功能,如双向对象映射和传递引用问题的机会也较少。10 MB对于它来说也是很小的,我用2GB的图像来尝试它,JNI没有任何问题就成功了这个大文件(不要担心10 MB文件,JNI会给你更多)。您可以为您的功能编写一个C++ DLL,并且可以实现一个java接口来使用JNI调用它们。为此提出了一种新的备选方案,称为巴拿马项目。我认为JNI是最好的方式到巴拿马完成日期,我们将看到巴拿马将是最好的,或JNI将保持目前的位置。
发布于 2014-09-29 09:52:03
如果c++应用程序可以作为命令行应用程序安装和访问(例如: FFMpeg、MLT等),请遵循以下步骤.
Runtime.exec()应用程序。这将节省你很多的精力,比其他选择。参考资料:调用via命令行与JNI
https://stackoverflow.com/questions/26096614
复制相似问题