JNI与运行时。exec()

 2023-01-20    327  

问题描述

我有两个选项 – 我可以使用jni或使用runtime.exec执行C ++库.

C ++程序是CPU密集且运行时间很长,即某些电话可能需要几个小时才能返回.

JNI与运行时。exec()

每个人的利弊是什么?
我应该选择哪种方法?

推荐答案

如果您需要与C ++库进行交互,请选择JNI.

如果这是您只想调用的独立程序(也许可以抓住输出),则Runtime.exec()要简单得多.

其他推荐答案

您是否研究过 jna 是第三种选择?

来自JNA站点:

JNA提供Java程序易于访问
到本地共享库(dlls on
Windows)不写任何东西
Java代码 – 没有JNI或本机代码是
必需的.此功能是
与Windows的平台/调用可比
和Python的CTYPES.访问是动态的
在没有代码生成的运行时.

请参阅他们的入门指南引言.

其他推荐答案

使用JNI可能会限制您从32位移动到64位的能力.您可能还会发现您还必须调整应用程序内存设置.

除非您知道C ++的内容的编写程度,否则它可能会使您的应用程序更加不稳定.您很幸运,因为C ++位需要几个小时 – 因此,只要在外部称呼它.

以上所述是小编给大家介绍的JNI与运行时。exec(),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26004.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。