我在dll中只有包含函数指针(即vtable)的结构,我想在python中进行交互(用于测试目的)。我在使用ctypes的时候遇到了一些麻烦。在python中使用ctypes与仅包含函数指针的c结构进行交互
我所拥有的是:
struct ITest
{
virtual char const *__cdecl GetName() = 0;
virtual void __cdecl SetName(char const *name) = 0;
};
/* Factory function to create 'real' Test object */
extern "C" __declspec(dllexport) struct ITest * CALLCONV make_Test(char const * name);
“真正的”测试对象会在结构中适当填充。这被编译成一个DLL(test.dll)。我希望在python中能够调用工厂方法来取回指向我的Test结构体的指针,然后调用结构体中包含的函数指针,但我似乎无法理解它的方式将使用ctypes工作。有没有人有任何类似的指针/例子,或者我应该使用类似SWIG还是Boost?
感谢您的任何帮助。