【发布时间】:2016-05-03 10:51:56
【问题描述】:
我知道如何使用 ctypes 通过创建一个将 Python 输入类型转换为 C 的“包装器”函数来从 Python 中的 C++ .dll 调用函数。我认为这实质上是在Python,其中函数体包含转换为 C 的类型和对应的 .dll 函数调用。
我目前有一组 C++ .dll 文件。每个库都包含 许多 函数,其中一些是重载的。我的任务是为每个.dll 文件编写一个 Python 接口。我目前的前进方式是“使用我拥有的锤子”并遍历每个函数,为每个函数精心制作相应的 Python 包装器......这将涉及我查看.dlls 中每个函数的 API 文档并将它们一一编码。不过,我的直觉告诉我,可能有更有效的方法来解决这个问题。
我的问题是:是否有一种与 Windows C++ .dll 交互的编程方式,不需要为每个函数制作相应的包装器?谢谢。
【问题讨论】:
-
使用例如编写包装模块可能更容易。 Boost Python.
-
SWIG 可能更容易大规模使用,但仍然需要准备接口文件。
-
Cython 也支持 C++。
标签: python-3.x dll ctypes