美文网首页
python ctpyes 指针的指针

python ctpyes 指针的指针

作者: iosjoker | 来源:发表于2018-06-29 12:37 被阅读0次

这玩意太难排版,凑合吧

c 的调用方式如下

void test(char**p, int* len);

char* p = malloc(0x1000)

int len = 0x1000

test(&p, &len)

DebugPrint("size is %d ", len)

DumpHex(p, len)

python 呼叫test

func = CDLL('path').test

functype = CFUNCTYPE(c_void, c_void_p, c_void_p)

func = functype(CDLL('path').test)

data = create_string_buffer(0x1000)

len = c_uint64(0x1000)

func(byref(c_int64(addressof(data))), byref(len))  # 如果32位机器的话data 的地址转化为c_int32

data = data[:len.value] # 将字节码重新组装。 data 本身存储的是c_array_0x1000 . 不是python 的bytes类型。

ctypes pyobjc 这种库自身做了一个桥接。 很多虽然python能访问的类型,并不是python原生的类型。

需要很细心的转化为原生类型后,就大胆的使用吧。

相关文章

  • python ctpyes 指针的指针

    这玩意太难排版,凑合吧 c 的调用方式如下 void test(char**p, int* len); char*...

  • 指针篇 | 指针的灵活让我想起了Python

    本文的题目其实有点蹭Python热度的意思,指针确实很灵活,当然易用程度和Python还是没得比,想要灵活使用指针...

  • 快速排序的两种思路,java和python实现

    java版的就是传统的用low和high两个指针去写 python不用low,high指针

  • 混淆知识点

    1、指针数组&数组指针、常量指针&指针常量、函数指针&指针函数 数组指针&指针数组 数组指针的定义 int (*p...

  • 指针

    普通指针指针的指针 数组指针 函数指针

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • 二、C语言基础

    A、指针 指针的概念:指针变量 和 指针 的区别 ?答:指针变量是指针的标记,也可以通过指针变量的标记操作指针内存...

  • ** 指针的指针

    指针的指针 什么是安全释放!!

  • C 语言指针

    指针类型:指针的读取长度,指针的读取方向(大小端) 空指针,无类型指针,野指针 常量指针,指向常量的指针 http...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

网友评论

      本文标题:python ctpyes 指针的指针

      本文链接:https://www.haomeiwen.com/subject/pgfayftx.html