1

我知道可以在 java 中加载 DLL(Windows 库)。

而且我知道编译的java程序可以在任何地方运行..

加载 DLL 的 java 程序可以在 Unix 环境中运行吗?(如果那里存在 DLL 文件)

4

4 回答 4

3

不可以。DLL 运行与 UNIX 操作系统不兼容的本机 Windows 指令。但是,可以使用JNI访问共享库 (.so) 。

为确保可移植的“一次编写,随处运行”模型,应避免调用本机库以支持纯 Java 实现。

于 2012-11-26T12:58:07.033 回答
1

我会非常惊讶。DLL(前提是它是本机的)将使用操作系统和特定平台构建。

于 2012-11-26T12:58:56.130 回答
1

不,你不能把 Windows PE/COFF DLL 放在 Unix 环境中,它就是行不通的。(除非你在谈论 Cygwin/MSYS)

您必须为目标系统编译库并使用它。

于 2012-11-26T12:58:57.947 回答
0

确实可以在 unix 中加载 DLL。然而,许多 dll 使用在 UNIX 上不可用的 windows API。您还必须检查您可能会遇到的版权问题。使用 JNI 可以访问本机库。但这(在 unix 中加载 DLL)不是受支持且可靠的配置。

给你一个简短的答案和一个简短的建议:答案是否定的,建议不要浪费你的时间这样做。

于 2012-11-26T13:04:47.553 回答