Python调用C++动态库通常通过使用ctypes库来实现。ctypes是Python的一个内置模块,它允许Python代码访问C函数和C数据类型,从而实现Python与C/C++代码的交互。
以下是使用ctypes调用C++动态库的一般步骤:
例如,假设有一个C++动态库testlib.dll,其中有一个函数add,用于计算两个整数的和。可以通过以下Python代码调用该函数:
import ctypes
# 加载动态库
testlib = ctypes.CDLL('testlib.dll')
# 定义C/C++函数的原型
add_func = testlib.add
add_func.restype = ctypes.c_int
add_func.argtypes = [ctypes.c_int, ctypes.c_int]
# 调用C/C++函数
result = add_func(3, 4)
print(result) # 输出7
在上述示例中,我们首先加载了testlib.dll动态库,然后定义了add函数的原型,并最后通过调用add函数传入参数3和4来计算它们的和。