用SWIG来加入python脚本

来源:互联网 发布:九劫剑实体剑淘宝 编辑:程序博客网 时间:2024/05/17 08:14

SWIG是 Simplified Wrapper and Interface Generator的英文首字母简写,用它可以简单方便的实现python调用C++的功能

首先看看C++中的实现

class Test{public:    void myTest() {printf(just a test);}};

要让python能够调用这个函数,做以下几步

1 编写一个swighelper.h的文件,这个让swig知道要导出些什么东西,只要函数声明就好了。

class swighelper{public:    void myTest();};



2 编写swig的接口文件(后缀名为.i)的文件 test.i

%module PythonAccessCPPTest

%include "swighelper.h"

3 运行cmd命令,执行 swig.exe -c++ python test.i

成功后会生成以下2个文件

1 PythonAccessCPPTest.py

PythonAccessCPPTest_wrap.cxx

第一个文件是给python用的。

第2个文件包括在main.cpp里面,并且在初始化python以后调用SWIG_init();

然后创建对应的python类实例,通过调用该类实例来实现python和C++的相互调用。

这里在生成第2个文件的时候不能直接放到工程里面编译,要在.cpp文件里面#include  PythonAccessCPPTest_wrap.cxx

如果编译通不过可能不没有在 PythonAccessCPPTest_wrap.cxx里面#include "swighelper.h"

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 十个月宝宝脱水哭闹怎么办 宝宝肠胃不好老是拉肚子怎么办 七个月的宝宝老是拉肚子怎么办 6个月宝宝拉肚子怎么办 没满月宝宝吐奶怎么办 八个月宝宝有点拉肚子怎么办 4个月宝宝拉水怎么办 2岁宝宝消化不好拉肚子怎么办 两岁宝宝老拉肚子怎么办 2岁宝宝拉肚子老不好怎么办 2岁宝宝一直拉肚子不好怎么办 5天新生儿拉稀水怎么办 4天新生儿拉稀水怎么办 新生儿40天拉稀水怎么办 一周多的宝宝拉肚子怎么办 出生半个月的宝宝拉肚子怎么办 刚出生几天的宝宝拉肚子怎么办 刚出生的宝宝拉肚子怎么办 出生八天的宝宝拉肚子怎么办 刚出生婴儿拉水怎么办 三岁宝宝一直吐怎么办 3岁宝宝一直吐怎么办 5个月宝宝一直吐怎么办 新生儿睡反了觉怎么办 吃母乳奶流量大怎么办 两个月宝宝有痰怎么办 婴儿瞌睡睡倒了怎么办 侧切伤口崩开了怎么办 脐带30天未脱落怎么办 洗眉结痂不掉怎么办 新生宝宝生殖器下面破皮怎么办 脐带未脱落渗血怎么办 车停店门口贴发单怎么办 有人要打我我该怎么办 很笨怎么办工作做不好 脸被电焊烤了疼怎么办 脸过敏痒的不行怎么办 领导想让你辞职怎么办 领导强吻我了怎么办 赫曼夏天温度高怎么办 近视看3d电影怎么办