python调用c++版本dll02-计算最大值

这个的计算和上一篇的计算是大同小异的,请原谅我的水篇章

哈哈哈哈   来直接回顾上一篇章 并在此基础上修改出的计算最大值

前言

由于c++运行速度相对于其他高级语言来说会比较快。使用python处理图像时可以考虑使用c++处理图像来提升运行速度。
 

1、创建一个c++工程生成dll库

 

这里我们新建dll2文件

 然后在选择配置管理器,选择X64

 对头文件和源文件进行以下修改

 头文件输入以下内容

extern "C" _declspec(dllexport) int myAdd(int a, int b);
extern "C" _declspec(dllexport) int myMax(int a, int b);

Python调用C++程序时需要extern "C"来辅助,也就是说还是只能调用C函数,不能直接调用方法,但是能解析C++方法。extern "C"在这里的作用相当于给c++程序披了一层c程序的外衣。 

 源文件输入以下内容:

#include "pch.h"
#include<iostream>

using namespace std;

int myAdd(int a, int b)
{
	return a + b;
}
int myMax(int a, int b)
{
	return a > b ? a : b;
}

 

然后生成解决方案,或F5运行程序即可

 会在路径x64/Debug目录下生成dll文件

 我们只需要用python代码调用这个路径下的dll文件,或拷贝到python能调用的路径下。

比如路径是这样的

 然后我们的python代码要这样写

from ctypes import *

#Dll2.dll文件里面有myADD/myMax方法
dll = cdll.LoadLibrary('Dll2.dll')
a = dll.myAdd(2,5)
b = dll.myMax(2,5)
print(a)
print(b)

然后启用python运行看看最后结果是否正常输出

可以看到最后结果是正常计算了,这只是一个简单的加法运算和最大值运算调用,接下来几章也是围绕这个dll的生成与python调用展开。

猜你喜欢

转载自blog.csdn.net/qq_34904125/article/details/126792207