PYTHON直接调用DLL实现和C++的交互

最近在做用python调用C++程序,因为C++程序是现成的,而且效率高。听着感觉不难,直接调用dll应该就成,等我着手做的时候,真是处处碰壁。

最开始的时候,百度一些资料,说python与c++的交互分为以下几种:

1、自己写一个接口程序,实现C++到python的映射,从而实现python的扩展。

2、利用工具包SWIG,这个方法真是简单,深得我心,在这个方法上耗时半天,最终弃之。

3、对C++程序生成dll文件,python利用自身带的包ctypes实现数据的传递,最终成功。

前两种方法我尝试后均以失败告终,因为C++与python交互时,我需要传递指针,以上两种方法我没搞懂怎么传递数据。还有一些别的方法像利用Boost、numpy等,实在是等不及了,刚开个头就放弃了。现在就说说亲测有效的方法,直接上代码:

my.cpp

#define EXPORT_MY_DLL 
#include "my.h"

#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;

MY_API void Add(int *L, int *R)
{
	for (int i = 0; i < 2; i++)
	{
		L[i] += 5 * R[i];
		R[i] += 1;
	}  
}
my.h
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值