2012-11-16 69 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

相關問題