java - 如何在 Linux JVM 中使用 native Windows DLL

标签 java linux dll jvm wine

我在一个 DLL 文件中有一个带有 native 函数 (JNA) 的简单 API,它只计算一些数学内容。 我在 JAVA 应用程序中使用此 DLL,在 Windows JVM 上一切正常。

问题是这个库将在 Linux JVM 内的 Linux 环境中使用,并且不会有 *.so 版本。

我读过几次,有一种方法可以在内存中加载带有 wine 的 DLL 并从那里使用它,但没有解释如何操作。

有人可以为我确认或反驳这种方法吗?如果这确实是一个可能的解决方案,请告诉我该怎么做,好吗?

编辑:可能是 How to call Wine dll from python on Linux? 中描述的解决方案我能以某种方式使用 ctypes 吗?

问候 乌尔米

最佳答案

我认为你应该可以做到这一点,但我找不到分步指南,而且我自己也没有做过。尝试执行以下操作:

祝你好运!

希望以前做过这件事的人能在这里提供更详细的答案。如果没有,请务必发布如何做的答案,以便其他人可以受益:-)

(answer you linked to 指的是 Windows 提供的 DLL,Wine 附带了这些的编译版本。)

关于java - 如何在 Linux JVM 中使用 native Windows DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33097020/

相关文章:

java - JDBC——没有足够的值

java - 在 kubuntu 中从终端执行 jar 文件

c++ - 在 OS X 上,简单的 C++ 程序会给出不正确的结果(这是命令行选项 'c++03' 与 'c++11' 的结果)

c# - 尝试在 C# 中导入 native DLL 时出现 "Unable to find an entry point"异常

c++ - 将 openCV .dll 文件添加到 Netbeans C++ Qt 应用程序

c++ - 为什么 libcxx 应用 __forceinline 或 GCC 等效于它已经隐藏的内联函数?

java - Hibernate异常——无法执行更新查询

java - 在 session 中存储大量数据 - 我应该这样做吗?

java - 将 unicode 字符串拆分为字符串列表

c++ - 具有基本身份验证的 HTTPS 客户端的 C/C++ 库