问题:python使用C/C++数组并在C/C++函数中修改后返回python
寻找了许多博客,但是ctypes参考资料较少,一些尝试后还是出错。于是阅读了ctypes官方库后,经过多次尝试…从坑中爬出。
实例
cast()函数
from ctypes import *
a = (c_byte * 4)()
>>> print(a)
> <c_long_Array_4 object at ...> #不知道怎么向C/C++传入此array格式
a = cast(a, POINTER(c_int)) #转换为指针,后传入C/C++
>>> print(a)
> <LP_c_long object at ...>
通过将数组指针传入C/C++函数,可以完成函数功能并可对指针a
指向的数组值进行修改。
如有错误,欢迎指正。