前言
由于c++运行速度相对于其他高级语言来说会比较快。使用python处理图像时可以考虑使用c++处理图像来提升运行速度。
1、创建一个c++工程生成dll库
然后在选择配置管理器,选择X64
对头文件和源文件进行以下修改
头文件输入以下内容
#include<iostream>
using namespace std;
extern "C"
__declspec(dllexport) int jia(int a, int b);
Python调用C++程序时需要extern "C"来辅助,也就是说还是只能调用C函数,不能直接调用方法,但是能解析C++方法。extern "C"在这里的作用相当于给c++程序披了一层c程序的外衣。
源文件输入以下内容:
__declspec(dllexport) int jia(int a, int b)
{
int c;
c = a + b;
return c;
}
然后生成解决方案,或F5运行程序即可
会在路径x64/Debug目录下生成dll文件
我们只需要用python代码调用这个路径下的dll文件,或拷贝到python能调用的路径下。
比如路径是这样的
然后我们的python代码要这样写
from ctypes import * #加载模块
adder = cdll.LoadLibrary("./Dll1.dll")
res = adder.jia(1,2)
print("Sum of 1 and 2 = ")
print(res)
然后启用python运行看看最后结果是否正常输出
可以看到最后结果是正常计算了,这只是一个简单的加法运算调用,接下来几章也是围绕这个dll的生成与python调用展开。