鉴于a string:

msg="hello world"

我可以如何定义这样一个 ctypes.c_void_p() 数据的类型?

以下代码产生一种"不能转换为指针"的例外:

data=ctypes.c_void_p(msg)

data 所需的是一个 void* 类型在C,因为它是被传递到一个DLL。

我假设有一个方法可以包装/拆字符串中使用的 struct 包装,但不幸的是我很熟悉这一进程。

有帮助吗?

解决方案

像这样的东西?使用 ctypes.cast?

>>> import ctypes
>>> p1= ctypes.c_char_p("hi mom")
>>> ctypes.cast( p1, ctypes.c_void_p )
c_void_p(11133300)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top