[C++/Python] 如何在Python中使用一个DLL? (Windows环境)

开发环境VS2012, WIN7 64.

首先生成的DLL大致如下:

.h文件

#ifdef CVINPYTHON_EXPORTS
#define CVINPYTHON_API __declspec(dllexport)
#else
#define CVINPYTHON_API __declspec(dllimport)
#endif

extern "C"
{
    CVINPYTHON_API int addinPython(int, int);
};

.c文件

#include "stdafx.h"
#include "cvInPython.h"
extern "C"
{
    CVINPYTHON_API int addinPython(int a, int b) {
        return a+b;
    }
};

之后在python中使用

import ctypes
dll = ctypes.CDLL( "dllname.dll" )

即可.

时间: 2024-10-01 05:21:39

[C++/Python] 如何在Python中使用一个DLL? (Windows环境)的相关文章

[C++/Python] 如何在C++中使用一个Python类? (Use Python-defined class in C++)

最近在做基于OpenCV的车牌识别, 其中需要用到深度学习的一些代码(Python), 所以一开始的时候开发语言选择了Python(祸患之源). 固然现在Python的速度不算太慢, 但你一定要用Python来操作图像, 实现某些算法的时候, 效率就变得非常重要. 可惜的是, Python在大多数算法实现中, 由于其循环操作实在是太慢, 导致实现的算法效率非常之低. 所以现在我要把深度学习中的一个类(分类器)转换到C++中, 在这个过程之前, 需要做一些test projects, 我主要参照的

如何在html中把一个图片或者表格覆盖在一张已有图片上的任意位置

如何在html中把一个图片或者表格覆盖在一张已有图片上的任意位置 <div style="position:relative;"> <img src="" width="500" height="500" /> <div style="position:absolute; left:80px; top:50px; border:#000 solid 1px;"><i

如何在JAVA中实现一个固定最大size的hashMap

如何在JAVA中实现一个固定最大size的hashMap 利用LinkedHashMap的removeEldestEntry方法,重载此方法使得这个map可以增长到最大size,之后每插入一条新的记录就会删除一条最老的记录. import java.util.LinkedHashMap; import java.util.Map; public class MaxSizeHashMap<K, V> extends LinkedHashMap<K, V> { private fina

CAD技巧-如何在CAD中绘制一个圆环?

CAD技巧,如何在CAD中绘制一个圆环?在日常的工作中,在编辑CAD图纸的时候,我们需要借助CAD编辑器中的许多图形来编辑一张完整的CAD图纸文件,以此来设计出我们满意的图纸,我们会使用到许多的图形比如说多边形.直线.正方,长方形等一些图形,但是我们如何在CAD中绘制一个圆环了?具体要怎么来操作?下面我们就来一起看看吧! 步骤一:首先还是需要打开电脑,然后在电脑桌面上任意的打开一个浏览器,在浏览器的搜索框中搜索迅捷CAD编辑器,鼠标点击进入官网,点击下载安装最新版本的CAD编辑器,下载完成之后,

CAD技巧,如何在CAD中添加一个多行文本?

CAD技巧,如何在CAD中添加一个多行文本?在编辑CAD图纸的过程能够为了更加方便快捷建筑设计师们都会借助CAD编辑器来绘制图形,但是一张CAD图纸中的内容太多,在有的地方需要给CAD图纸进行一些标注,以便更好的查看,但是如何在CAD中添加一个多行文本?小伙伴们知道要怎么来操作吗?下面小编就利用迅捷CAD编辑器标准版来教教大家如何在CAD中添加一个多行文本?想要了解的朋友就一起来看看吧! 使用第一步:在电脑桌面中没有下载安装迅捷CAD编辑器的小伙伴们,在电脑中任意的打开一个浏览器,在浏览器的搜索

如何在linux中执行一个脚本

---恢复内容开始--- 如何在LINUX中在系统启动时自动执行一个执行脚本 如果是开机马上执行的脚本,可以将脚本写到rc.local中: 如果是用户登录后自动执行脚本,可以将脚本写到相应的用户目录下"-/.bash_profile",若脚本"-/.bash_profile"不存在,可以直接拷贝"/etc/profile"命名为"-/.bash_profile": 如果是要任一用户登录后自动执行脚本,可以将脚本写到"

如何在solr中添加一个core

在上一篇博文中已经介绍了如何在tomcat中部署solr,部署完之后solr默认是有一个core的,也就是collection1,如下图: 如果想自定义一个core,该如何做呢? 本文将承接上一篇博文(http://simplelife.blog.51cto.com/9954761/1864071)继续展开! 1.在solrhome文件夹下复制一份collection1,并改名为simple,与collection1放在同一个文件夹中 2.进入simple文件夹中修改core.propertie

Python的raw_input语句包含中文,在Windows环境CMD中显示乱码的解决方法

Python的raw_input语句中如果包含中文,在Windows环境CMD中执行时会显示乱码: 由于raw_input语句不支持unicode显示,在中文字符串前加u会报错: 解决办法: 在语句中进行强制的编码转换,格式如下: shuzi = raw_input (unicode('请输入日期:','utf-8').encode('gbk'))

python:一秒中启动一个下载服务器

一.背景 在实际工作中,时不时会有这样的一个需求:将文件传给其他同事.将文件传给同事本身并不是一个很繁琐的工作,现在的聊天工具一般都支持文件传输.但是,如果需要传送的文件较多,那么,操作起来就会比较麻烦.此外,如果文件在远程的服务器上,你要将文件传给同事,则需要先将远程服务器的文件下载到本地,然后再通过聊天工具传给同事.再或者,你并不是特别清楚要传哪几个文件给同事,所以,你们需要进行来回的交流.交流的时间成本是比较高的,会降低办事效率.此时,你们需要更加高效的方法. 二.实现 这个时候,如果你知