Python 2.7 如何在python中加载带有头的.dll文件?

Python 2.7 如何在python中加载带有头的.dll文件?,python-2.7,dll,header,ctypes,Python 2.7,Dll,Header,Ctypes,我正在将一个程序从MATLAB迁移到python。在MATLAB中,它同时调用.dll文件和.h文件。我不知道如何在python中链接这两者。我可以导入带有ctypes的.dll文件,但无法访问.dll中的函数。有人了解MATLAB和python中.dll加载的区别吗 具体而言: 我用来导入的代码是 dll = ctypes.WinDLL("path") attrib = dll.__getattribute__('name') 它返回属性不存在,但我从头文件知道它存在。我是否需要合并头文件

我正在将一个程序从MATLAB迁移到python。在MATLAB中,它同时调用.dll文件和.h文件。我不知道如何在python中链接这两者。我可以导入带有ctypes的.dll文件,但无法访问.dll中的函数。有人了解MATLAB和python中.dll加载的区别吗

具体而言:

我用来导入的代码是

dll = ctypes.WinDLL("path")

attrib = dll.__getattribute__('name')

它返回属性不存在,但我从头文件知道它存在。我是否需要合并头文件才能使.dll正常工作

我猜你是Python新手。你不应该在这里调用
\uuuu getattribute\uuu
。使用
dll.name
,或者如果它不是有效的标识符,则使用
getattr(lib,'name')
。至于标头,有一个旧的ctypesgen项目可以自动处理标头,但对于大多数ctypes,您必须手动定义函数原型和结构定义,或者编写您自己的代码来自动化特定于您需求的流程。是可以解析C声明的ctypes的替代方法,根据所使用的C库的复杂性,ctypes可能更容易、更可靠。