通过JNI/DLL或EXE执行本机代码?

 2023-01-21    301  

问题描述

我们有一个本机应用程序,我们可以通过jni-> dll或使用命令行参数调用EXE来访问.哪个是最好的方法?

我们将每天调用这种方法约100次.性能并不重要.这个本机应用程序是由我们公司以外的一个集团开发的,因此我们对代码不太熟悉(尽管我们确实拥有).

通过JNI/DLL或EXE执行本机代码?

EXE路线似乎更容易,更简单(尤其是因为我们没有使用很多C).另外,如果您的DLL代码有内存泄漏或遇到其他一些麻烦,我可能会与JNI聚集在一起,您可能会崩溃JVM.

推荐答案

我强烈建议使用.exe方法.

  1. 如果它崩溃了,您可以重生.exe
  2. 您不会遭受内存泄漏/损坏等.

不利的一面是您可能必须解析.EXE输出以确定结果/状态等,如果不是为此设计的,那么这可能是不切实际的(或不可能,甚至是不可能的).

但是作为第一种方法,产卵是必经之路.别忘了避免任何.exe悬挂问题(如果相信这样的话,一个常见的问题).

其他推荐答案

对于这种情况,我会称呼.exe,主要是因为在这种情况下一个不稳定的应用程序无法破坏JVM.

每天打电话给.exe 100次很容易快.

另一方面,如果.dll提供了良好的API,那么如果出现问题,使用它可能会使您有更好的机会诊断问题.

以上所述是小编给大家介绍的通过JNI/DLL或EXE执行本机代码?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

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

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

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