簡體   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