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來計算它們的和。