python – 需要ctypes char *指针
发布时间:2020-12-20 13:32:25 所属栏目:Python 来源:网络整理
导读:我有一个C函数返回字符串(char *),让我们称之为foo(). 在 python中我想调用它并使用它的返回值,当我完成后,我想调用另一个C函数来释放返回的字符串foo. 如何获得指针和字符串本身?如果我喜欢这样: fooFunc = foolib.foofooFunc.restype = c_char_pr = fooF
我有一个C函数返回字符串(char *),让我们称之为foo().
在 python中我想调用它并使用它的返回值,当我完成后,我想调用另一个C函数来释放返回的字符串foo. 如何获得指针和字符串本身?如果我喜欢这样: fooFunc = foolib.foo fooFunc.restype = c_char_p r = fooFunc() 然后我得到字符串,但不是指针.如果我在没有指定restype的情况下这样做,我得到一个似乎是正确地址的int,但每当我尝试使用c_char_p(< address>)将其强制转换为sting时,它就会崩溃并出现分段错误. 解决方法
我很惊讶你不能只将c_char_p实例传回第二个函数,但是我没有手头的工具来验证它为什么会失败.
但是,作为替代方案,我相信您可以尝试: >将restype指定为简单指针(c_void_p) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |