【发布时间】:2021-12-23 16:25:54
【问题描述】:
我有一个名为values 的numpy.ndarray 包含numpy.unicode_ 字符串,并且我有一个C 函数foo,它使用一个C 字符串数组。 foo 有一个 CFFI 封装接口。
所以我试着做这样的事情
p = ffi.from_buffer("char**", values)
还有
p = ffi.from_buffer("char*[]", values)
这不会在 CFFI 中给出任何错误。但是,一旦我运行代码,它就会在 foo 的 C 实现中崩溃,实际上,当我查看指针时,它们看起来很糟糕:
(gdb) p d
$1 = (char **) 0x1f978a50
(gdb) p d[0]
$2 = 0x7300000061 <error: Cannot access memory at address 0x7300000061>
我使用的是 64 位架构。
【问题讨论】:
标签: python python-cffi