Ctypes模块指针类型对象取值方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
跟上面的方法其实本质是一样的
c_byte_array虽然不是指针类型,但是取值也用到了cast()方法,所以也写在这里
# 取值: cast(byte_array变量名, c_char_p).value # 赋值 (c_byte * array长度)(*bytearray(字符串值, 'UTF-8'))
2. 取POINTER(obj_type)里面的值:
xxx.contents 或者 xxx[0] 直接解除指针绑定
3. 普通的根据内存地址取值方法:
cast(id(变量), py_object).value
4. 如果知道c_void_p指针指向内存中存的变量的真实类型,用下面方法:
cast(id(变量), POINT(变量类型)).value
ctypes模块的指针类型对象针对具体指针类型有下面几种取值方法
Ctyp的指针类型对象针对具体指针类型有下面几种取值方法:
1. 如果是c_void_p指向的byte类型的内存地址,用下面方法取值:
string_at(address, size)
相关文档
最新文档