本文主要讲述python调用c库时的传入参数为:
char* 或者为unsigned char *的情况。
1、传入参数为char*类型时
# 声明一个传入参数
return_value = create_string_buffer(''.encode(), 20)
# 调用相关C库的函数
# ret 为函数的返回值
# return_value 将带回处理函数过程中对其的赋值
ret = lib_example.hello(return_value)
# 需要解码的话进行解码
value = return_value.decode()
# 利用for循环打印传出值
for i in value:
print(i)
2、传入参数为unsigned char * 时
# 声明一个传入参数
return_value = (c_ubyte * 20)()
# 调用相关C库的函数
# ret 为函数的返回值
# return_value 将带回处理函数过程中对其的赋值
ret = lib_example.hello(return_value)
# 利用for循环打印传出值
for i in return_value:
print(i)
另:返回值为BOOL类型的还没有搞定,知道的大佬可以在下面留言解决方案