【发布时间】:2011-07-13 11:40:07
【问题描述】:
经过长时间的研究,我决定写一个问题。 我有一个 C++ DLL,它有一个导出函数:ObjectType* getInstance() 有了这个实例,函数返回,我可以访问所有其他公共函数。
我现在的问题是,我想在 Python 中使用这个东西。当我使用 ctypes 访问 getInstance 时,我只得到一个整数值而不是一个实例。 我尝试的下一件事是用 C++ 编写 Python 扩展。但这也没有成功。
任何想法。
非常感谢您的帮助。
最好的问候。
【问题讨论】:
-
您是否查看过Boost.Python 或SWIG 之类的内容?它们使 Python 与 c++ 的接口变得非常容易
-
C++ 类和 DLL 在我看来不能很好地混合。您通常最终会限制 DLL 的客户端使用与用于构建 DLL 的编译器相同的编译器。我会导出
extern "C"函数的扁平化界面。制作这些第一个参数是对象实例的非成员函数。