python调⽤c++静态库_python调⽤C++动态链接库
系统:win7 64位
python 版本:python3.6.5  32位
C++编译:MinGW (Minimalist GNU for Windows)。
注意这是win32 的版本,注意位数应当与已经安装的Python保持⼀致。
1,安装下载MinGW,  (86.5 kB)
安装过程:
(1)默认安装⽬录 C:\MinGWpython默认安装路径
(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
⼀共四个系统变量 。
还没完。再来。
添加path=%path%;%MINGW_HOME%/bin
⾄此,MinGW设置完毕。
让我们检测⼀下G++是否安装成功。
在cmd中输⼊  g++ --version,显⽰如下,即说明安装成功
不要以为我们要完成了哦。今天我们要说的是python调⽤C++,MinGW只是我们的⼀个⼯具,长征只⾛了⼀步⽽已。为了和以下主要内容
区别开。我打⼀个分割线吧。还是有些⼩开⼼,毕竟下载了好久才安装完毕。Let's go
_____________________________________________________________________________________________________
C++源⽂件  test.cpp
#include
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⽂件检测⼀下吧。还不错,⼀次性运⾏成功。
希望与⼴⼤⽹友互动??
点此进⾏留⾔吧!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。