首页 > 解决方案 > 如何在带有 Wine 的 Linux 上使用带有 Windows DLL 的 Python 脚本?

问题描述

我正在使用一个 Python 脚本,它正在加载一个 Windows DLL。以下代码显示了一个粗略的示例

import ctypes

Foo = ctypes.WinDLL("./Foo.dll")
foo = Foo.Foo
foo.restype = ctypes.c_int
foo.argtypes = [ctypes.c_int]

print(foo(0))

要使用此脚本而不在 Linux 中构建 *.so 库,我想使用 Wine。原因是我没有Foo.dll的源代码。

在没有 Wine 的情况下使用其他模块时,是否可以在 Wine 中使用这个 Python 脚本或类似的内置模块?

标签: pythonc++linuxdllwine

解决方案


最简单的方法是在 Wine 中安装 Python 和其他模块的 Windows 版本,然后执行此操作。对于您的 Python 脚本,一切看起来就像在 Windows 上运行一样,并且 DLL 可以工作。

据我所知,不可能像您在上一个问题中建议的那样混合搭配模块。没有什么意义——大多数在 Linux 上运行的 Python 模块都以源代码形式部署,并且在 Linux 上的工作与在 Windows 上一样好。


推荐阅读