注意:我有一大堆代码,因此它目前存储在here。
所以,我有这两个文件。 CPP文件是C .so库的一部分,它使用ctypes与Python集成。但是,当我运行test.py时,即使我指定了返回类型
,它也不会打印任何内容interfaceLib.concatString()
到变量" text",然后打印。
答案 0 :(得分:0)
ctypes中的函数调用默认返回一个int。您需要指定库函数的重定义类型。请尝试以下方法:
from ctypes import CDLL, c_char_p
interfaceLib = CDLL('Shared_Lib/bin/Library/libShared_Lib.so')
interfaceLib.test()
str1 = "H"
str2 = "I"
interfaceLib.concatString.argtypes = [c_char_p, c_char_p]
interfaceLib.concatString.restype = c_char_p
text = interfaceLib.concatString(str1.encode('utf-8'), str2.encode('utf-8'))
print(text)