首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNI vs Runtime.exec()

JNI vs Runtime.exec()
EN

Stack Overflow用户
提问于 2009-04-23 17:46:05
回答 3查看 2.2K关注 0票数 3

我有两个选择--我可以使用JNI或者使用Runtime.exec来执行C++库。

C++程序是CPU密集型且长时间运行,即某些调用可能需要几个小时才能返回。

每种方法的优缺点是什么?我应该选择哪种方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-23 17:48:26

如果需要与C++库交互,请使用JNI。

如果您只想调用一个独立的程序(也许还想获取输出),那么Runtime.exec()要简单得多。

票数 5
EN

Stack Overflow用户

发布于 2009-04-23 18:46:30

您是否考虑过将JNA作为第三种选择?

从JNA站点执行以下操作:

Java为

程序提供了对本机共享库(Windows上的DLL)的轻松访问,而不需要编写任何代码--不需要JNI或本机代码。此功能可与Windows的平台/调用和Python的ctype相媲美。访问在运行时是动态的,不需要生成代码。

有关介绍,请参阅他们的getting started指南。

票数 2
EN

Stack Overflow用户

发布于 2009-04-23 22:04:52

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

除非你知道C++的东西写得有多好--否则它会让你的应用更加不稳定。幸运的是,C++位需要几个小时-所以只需在外部调用它即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/782827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档