我正在尝试对在我包装的库中找到的结构进行建模,其中结构有一个指向指针的指针,如下所示:
typedef struct item_t {
char* name;
}
typedef struct container_t {
item_t **items;
}
ctypes在使用 Python 的模块类进行建模时Structure,我如何表示一个可变长度的指针数组?
您可以使用POINTER并转换item_t **为POINTER(POINTER(item_t)):
from ctypes import *
class item_t(Structure):
_fields_ = [
('name', c_char_p),
]
class container_t(Structure):
_fields_ = [
('items', POINTER(POINTER(item_t))),
]