2023-01-20 327
我有两个选项 – 我可以使用jni或使用runtime.exec执行C ++库.
C ++程序是CPU密集且运行时间很长,即某些电话可能需要几个小时才能返回.
每个人的利弊是什么?
我应该选择哪种方法?
如果您需要与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/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态