gpt4 book ai didi

python - 回调函数中的 ctypes POINTER(c_void_p)

转载 作者:太空宇宙 更新时间:2023-11-03 23:56:17 26 4
gpt4 key购买 nike

我目前正面临 ctypes 的问题。我有一个 C 函数 foo 这样:

void** foo(int);

我必须为 foo 函数定义一个回调函数。所以:

FOO_FUNC = CFUNCTYPE(POINTER(c_void_p), c_int)
foo_c = lib.foo
foo.argtypes = [c_int]
foo.restype = POINTER(c_void_p)

不幸的是,在调用一个以这个回调函数为参数的函数时,它给出了错误: TypeError:回调函数的无效结果类型

我看不出问题...任何人都可以帮助我吗?谢谢

最佳答案

使用 c_void_p 而不是 POINTER(c_void_p)。我认为应该解决它。另请注意,您不能使用复合类型作为回调返回类型:Issue5710

关于python - 回调函数中的 ctypes POINTER(c_void_p),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6172791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com