如何在Mac OS X中使用带有Java的Windows DLL?

pur*_*uri 4 c java macos dll java-native-interface

我已经看到了使用一些Java项目taucs.dll,TAUCS在Windows -aÇ稀疏线性解算器库,通过JNI.我想通过将TAUCS编译成类似的东西,我可以在Mac OS X中实现相同的目标libTaucs.jnilib.我可以访问库的代码,但不知道如何将其编译成DLL,更不用说JNI库了.到目前为止,我只能编译为静态库.

有没有办法将DLL转换为Mac的JNI库?如果我必须编译代码,该怎么做?在动态库中包装静态库是否可以与JNI一起使用,特别是对于TAUCS,如果有人有经验的话?

Sha*_*dat 7

最后,微软发布了完全独立于平台的.NET Core.使用.NET Core框架构建DLL时,可以使用以下命令运行该文件.

dotnet yourapp.dll
Run Code Online (Sandbox Code Playgroud)

另外,现在的.NET应用程序可以在Mac或Linux机器上使用轻量级IDE开发的Visual Studio代码Visual Studio中的Mac IDE,其中已经发布单上的MacOS X系统集成.


Sum*_*ngh 5

很多操作系统都有共享库的概念,当然不同的操作系统这些库的格式等是不一样的。

DLL(动态链接库)是共享库的 Windows 版本。您不能只在 Mac OS 上使用 Windows 机器上的 DLL,就像您不能在 Mac OS(或任何其他操作系统)上运行 Windows 应用程序一样。

您不需要尝试在 Mac OS 上使用 Windows DLL,而是需要找到您尝试使用的本机库的 Mac OS 特定版本。或者,如果您有源代码,请将其编译为 Mac OS 本地共享库。Mac OS X 上的共享库的扩展名为 .so(而不是 .dll),它代表“共享对象”。
仅使用 Java 加载它们是不可能的。