python和C++可以相互调用,例如,我用VS2019写了一个CMATHDLL.dll, 实现了python调用C++ dll.
.h
extern "C" CMATHDLL_API int add(int a, int b); extern "C" CMATHDLL_API int sub(int a, int b);
.cpp
CMATHDLL_API int add(int a, int b) { return a + b; } CMATHDLL_API int sub(int a, int b) { return a - b; }
把生成的dll放到python程序目录
python需要使用ctypes模块的WinDLL方法调用C++ dll, 代码如下:
import ctypes import os #获取dll路径 current_path = os.path.dirname(__file__) dllpath = os.path.join(current_path, "CMATHDLL.dll") print(dllpath) #加载C++ dll pDll = ctypes.WinDLL(dllpath) #打印dll地址 print(pDll) #调用CMATHDLL.dll里的函数 pReault1 = pDll.add(1,2) pReault2 = pDll.sub(1,2) print(pReault1) print(pReault2)
输出结果