python - 如何在带有 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 脚本或类似的内置模块?
解决方案
最简单的方法是在 Wine 中安装 Python 和其他模块的 Windows 版本,然后执行此操作。对于您的 Python 脚本,一切看起来就像在 Windows 上运行一样,并且 DLL 可以工作。
据我所知,不可能像您在上一个问题中建议的那样混合搭配模块。没有什么意义——大多数在 Linux 上运行的 Python 模块都以源代码形式部署,并且在 Linux 上的工作与在 Windows 上一样好。
推荐阅读
- docker - 在 Helm 图表 values.yaml 中拉取 docker hub 图像
- windows - 从特定的远程机器测试网站(www.testwebsite.com)
- javascript - 基于倾向性的流体响应图像网格
- cluster-computing - HTCondor 拒绝使用退出代码 4/NOPERMISSION 启动它的守护进程
- python-3.x - 如果另一个并发进程有搜索结果,则通知进程停止
- symfony - Docker symfony 4 和 mysql
- javascript - 如何将 Javascript 数组获取到 MVC 控制器
- r - R:如何操作数据(具有 NA 值的 Dataframe 和具有多个迭代结果的插补矩阵)?
- terraform - 如何将第二个注册目标(具有不同端口)添加到指向任务定义的 alb 目标组
- angular - CanActivate 问题 TS2720