在OS X中使用python的ctypes调用DLL

时间:2018-06-15 22:00:29

标签: python macos ctypes

我正在使用一种提供与C / C ++一起使用的共享库的工具。当我的团队正在使用Python时,我使用提供的DLL编写了一个ctypes包装器(使用windll加载它们)并且一切正常,因为我们使用Windows测试代码。

我需要运行代码的最终机器是OS X,我认为我已经碰壁了,因为制造商提供的库不包含.so文件,只有.dll的。

有没有办法在Mac OS X上编写使用此工具(及其提供的DLL文件)的包装器,而无需访问源代码?或者我最好的选择是在Windows中完成程序,创建一个可执行文件然后用Wine运行它吗?

2 个答案:

答案 0 :(得分:1)

没有足够的信息来知道什么是好的解决方案,但是我可以提出一个或两个想法。您所拥有的设备可能需要特定于操作系统的驱动程序(在这种情况下,Wine解决方案极不可能为您工作)。如果设备可以连接到Windows盒,但是用户应用程序在Mac OS上运行,则存在一些好的可能性。您可以创建Windows服务,该服务打开一个网络套接字以发送/接收数据,Mac OS上运行的用户应用程序可以访问这些数据。或者,可以使用简单的Windows控制台应用程序代替Windows服务来打开套接字。 Windows服务(或控制台应用程序)将通过制造商在其库中提供的任何API来访问连接至Windows系统的设备,同时从套接字连接获取命令并将数据发回。

答案 1 :(得分:0)

这可以使用 Python 模块 zugbruecke