Python调用C动态库,回调函数中的参数是c_void_p类型时,如果想取得c_void_p参数指向的地址的值,该怎么做?
c回调
typedef void (*callbakc) (void * buf);
void (*callbakc) (void * buf)
{
int *ptr = new int(0);
buf = ptr;
}
python中的定义
def callback(buf):
# 此处想通过buf得到值0。尝试过string_at,返回的是str类型的乱码。
# string = string_at(buf)
CALLBACKFUNC = CFUNCTYPE(None,c_void_p)
call = CALLBACKFUNC(callback)
如上,在C中创建了一个指向值是0的指针ptr,python的回调函数中,buf返回的是int类型,其值是ptr的内存地址,那么怎么通过这个内存地址得到值0呢?