本文主要是介绍swig python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.软件安装:windows
(1)下载:http://www.swig.org/download.html
解压把swig.exe的地址写入到环境变量的环境变量的Path变量中。
(2)安装Microsoft Visual C++ Compiler Package for Python 2.7
地址:https://www.microsoft.com/en-us/download/details.aspx?id=44266
2.文件编写: 实例为将C++程序导入python模块
(1)c++头文件
int fact(int, int);
(2)cpp 源文件
#include "example.h"int fact(int n, int m) {return n * m;
}
(3)swig文件
/* File: example.i */
%module example%{
#define SWIG_FILE_WITH_INIT
#include "example.h"
%}
int fact(int n, int m);
下面是具体介绍一下example.i这个文件。%module 后面的名字是被封装的模块名称。封装口,python通过这个名称加载程序。%{ %}之间所添加的内容,一般包含此文件需要的一些函数声明和头文件。最后一部分,声明了要封装的函数和变量。比较建议的写法是,把要封装的函数声明部分写成头文件,假如为example.h,这样接口文件就非常简单了:%module example%{/* Put header files here or function declarations like below */
#define SWIG_FILE_WITH_INIT
#include"example.h"%}%include"example.h"
3.为了建python模块,利用-python参数执行swig 。方便起见创建 swig_shell.py 写入下面程序,然后点击swig_shell.py
1 | from os import system system(' swig -c++ -python example.i' ) |
执行完命令后生成两个不同的文件:example_wrap.cxx和example.py。
4 利用distutils生成动态库
python自带一个distutils工具,可以用它来创建python的扩展模块。使用它也很简单,只需要先定义一个配置文件,通常是命名为setup.py
1 2 |
这篇关于swig python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!