python和C++可以相互调用,例如,我用VS2019写了一个CMATHDLL.dll, 实现了python调用C++ dll.
一 创建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)
输出结果
由此可见,python成功调用了C++代码. C++也可以调用python, 可以参考这个链接:C++调用python