繁体   English   中英

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

[英]How to use a Windows DLL with Java in Mac OS X?

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

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

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

dotnet yourapp.dll

此外,现在可以使用轻量级 IDE Visual Studio CodeVisual Studio for Mac IDE 在 Mac 或 Linux 机器上开发 .NET 应用程序,其中集成了 MacOS X上的Mono

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

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

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

暂无
暂无

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

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