[英]How to use a Windows DLL with Java in Mac OS X?
我已經看到一些 Java 項目使用taucs.dll
, TAUCS——一個稀疏線性求解器的 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 Code和Visual 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.