2012-11-16 73 views
1

我有一个调用从C共享库导出的方法的python脚本。将Python类对象作为参数传递给C库

如何将python类对象作为参数传递给这些方法之一。

Python代码:

class module(object) 
    def __init__(self, param1): 
     self._param1 = param1 

lib = CDLL("name") 
mod = module1(10) 
lib.func(pointer(mod)) 

C示例代码:

struct module { 
    int val; 
}; 
extern "C" void func(struct module* data); 

我可以访问存储在模块1的参数在c函数 “FUNC” 的值。

更多想法如何实现此功能?

回答

1

后goggling位找到了一条出路:

你可以在python声明结构为:

class POINT(Structure): 
    _fields_ = [("x", c_int), 
       ("y", c_int)] 

,并通过这种结构的基准。

请参考:ctypes docs page

相关问题