在C
标题中,“param1
”被声明为OUT
参数:
long A_API test(
___OUT_ char param1
)
在Python
代码中,我尝试使用数组,以便test
函数有空间来填充此参数。我已导入ctpyes
并且:
test_array = bytearray(b'')
importArray = (ctypes.c_char*40)(*test_array)
def callTest():
result = lib.test(importArray)
return result
但是test
函数没有被执行,它在某处失败了。
不幸的是我只有.so
文件,而不是源代码,所以我无法调试代码,但我想我在这里有类型定义问题。
感谢任何帮助。
答案 0 :(得分:0)
Python代码应该是根据函数定义的东西:
out_char = ctypes.c_char()
result = lib.test(ctypes.byref(out_char))