2016-09-15 153 views
-1

在一個C庫的Python有:在使用ctypes的傳遞指向struct指針C函數

typedef struct A * B; 
int create_b(B* b); 

和使用的ctypes我需要Python的等價於:

B b; 
create_b(&b) 

的結構,A是在Python中實現爲class A(ctypes.Structure)

所以,我想:

b = ctypes.POINTER(A) 
lib.create_b(ctypes.byref(b)) 

,但它不工作。有很多類似的問題,但沒有一個我嘗試過幫助。

+0

以何種方式不起作用? – immibis

回答

0

此行

b = ctypes.POINTER(A) 

只是設置b指同一類型ctypes.POINTER(A),哪裏還有什麼是真的想與該類型結構的變量。該行在結尾處缺少括號:

b = ctypes.POINTER(A)() 
相關問題