【发布时间】:2023-04-04 18:28:03
【问题描述】:
我在 Python 中使用 ctypes 来处理 libgphoto2。以下代码在 32 位机器上成功,但在 64 位机器(Linux、Ubuntu)上失败并出现分段错误:
import ctypes
gp = ctypes.CDLL('libgphoto2.so')
a = gp.gp_library_version(0)
x = ctypes.c_char_p.from_address(a)
x.value
libphoto2、ctypes 和 python 都来自存储库,所以我认为问题出在我的代码中;我需要以更一般的方式或类似的方式考虑指针。 gp_library_version() 返回 const char **,一个字符串常量数组。其他gp_* 函数工作正常。
【问题讨论】:
标签: python arrays string 64-bit ctypes