繁体   English   中英

在UNIX系统中的Java中加载DLL

[英]Loading DLL in java in UNIX system

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

而且我知道已编译的Java程序可在任何地方运行。

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

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

为了确保可移植的“编写一次可在任何地方运行”模型,应避免使用纯Java实现来调用本机库。

我会很惊讶。 DLL(如果它是本机提供的)将使用操作系统和特定于平台的工具构建。

不可以。您不能使用Windows PE / COFF DLL并将其粘贴在Unix环境中,否则将无法使用。 (除非您在谈论Cygwin / MSYS)

您将必须编译目标系统的库并使用该库。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM