Mar*_*eon 3 c java java-native-interface native
我们有一个本机应用程序,我们可以通过JNI-> DLL或通过命令行参数调用EXE来访问.哪种方法最好?
我们将每天调用此方法大约100次.表现并不是非常重要.这个原生应用程序是由我们公司以外的团队开发的,所以我们不太熟悉代码(尽管我们拥有它).
EXE路线似乎更容易,更直接(特别是因为我们没有使用很多C).另外,如果您的DLL代码有内存泄漏或遇到其他一些麻烦,我会收集JNI,您可能会崩溃您的JVM.
我强烈推荐使用.exe方法.
缺点是您可能必须解析.exe输出以确定结果/状态等,如果它不是为此设计的,那么这可能是不切实际的(甚至是不可能的).
但作为第一种方法,产生.exe是可行的方法.不要忘记同时使用stdout/err以避免任何.exe挂起问题(一个常见问题,如果要相信SO问题).