当前位置: 移动技术网 > IT编程>脚本编程>Python > python调用C++动态链接库

python调用C++动态链接库

2020年07月30日  | 移动技术网IT编程  | 我要评论
系统:win7 64位python 版本:python3.6.5 32位C++编译:MinGW (Minimalist GNU for Windows)。 注意这是win32 的版本,注意位数应当与已经安装的Python保持一致。1,安装下载MinGW, Download mingw-get-setup.exe (86.5 kB) 下载地址:http://sourceforge.net/projects/mingw/files/Instal...

系统:win7 64位

python 版本:python3.6.5  32位

C++编译:MinGW (Minimalist GNU for Windows)。

                 注意这是win32 的版本,注意位数应当与已经安装的Python保持一致。

1,安装下载MinGW,   Download mingw-get-setup.exe (86.5 kB)

      下载地址:

安装过程:

(1)默认安装目录 C:\MinGW

 

(2)一定选上安装 C++ Compiler和 Objectiv-C Compiler。

 

 

下载安装需要点儿时间,期间失去连接N次。嘤嘤嘤 ,是的,端起茶水,找个电视剧看看吧。我选择的是下载并安装,选择全部下载后安装应该好一些吧。

(3)安装完毕之后,设置环境变量。

“我的电脑”图标上点击右键,选择“属性”,打开系统属性面板。

选择“高级”标签,点击“环境变量”按钮。

是的,没错,是这里,系统变量。

分别新建:

  MINGW_HOME = C:/MinGW

LIBRARY_PATH = %MINGW_HOME%/lib

C_INCLUDE_PATH = %MINGW_HOME%/include


CPLUS_INCLUDE_PATH = %MINGW_HOME%/include/c++/3.4.5;%MINGW_HOME/include/c++/3.4.5/mingw32;%MINGW_HOME/include/c++/3.4.5/backward;%MINGW_HOME%/include

一共四个系统变量 。

还没完。再来。

添加path=%path%;%MINGW_HOME%/bin

至此,MinGW设置完毕。

让我们检测一下G++是否安装成功。

在cmd中输入  g++ --version,显示如下,即说明安装成功

 

不要以为我们要完成了哦。今天我们要说的是python调用C++,MinGW只是我们的一个工具,长征只走了一步而已。为了和以下主要内容区别开。我打一个分割线吧。还是有些小开心,毕竟下载了好久才安装完毕。Let's go!!!

_____________________________________________________________________________________________________

C++源文件  test.cpp

#include <stdio.h>  

extern "C"  //要加extern "C",  C为大写,小写会无法识别。
{
    int add(int a, int b)
    {
        return a + b;
    }

    void print_sum(unsigned long ulNum)
    {
        while (ulNum != 0)
        {
            printf("The ulNum is : %u\n", ulNum--);
        }
    }
}

在test.cpp  所在文件目录中进入cmd:

输入:g++ -o test.so -shared -fPIC test.cpp     

 

在文件目录中会生成  test.so 动态链接库文件


 

python调用C++的py文件


# -*-encoding:utf-8 -*-
from ctypes import *
import time

if __name__=='__main__':
    time_begin=time.clock()

    dll=CDLL('./test.so')

    print(dll.add(5,7))
    dll.print_sum(10000)

    t=time.clock()-time_begin
    print("\nUse time: %s" %t)

将 test.so和test.py放在同一文件夹内。运行py文件检测一下吧。

还不错,一次性运行成功。

本文地址:https://blog.csdn.net/weixin_44174080/article/details/107662413

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网