Swig的应用之python调用C++

1.安装Swig

  1. 下载Swig源码包 http://www.swig.org/survey.html
  2. 解压后执行 ./configure
  3. make && make install

2.准备C/C++文件

1.新建cal.h

int add(int a, int b);
int sub(int a, int b);

2.新建cal.cpp

int add(int a, int b){
    return a+b;
}
int sub(int a, int b){
    return a-b;
}

3.通过C/C++文件生成py文件

1.新建cal.i

%module cal
%{
    #define SWIG_WITH_INIT
    #include "cal.h"
%}
%include "cal.h"

2.在终端输入swig -python -c++ cal.i生成cal_wrap.cxx和cal.py

3.新建setup.py文件

from distutils.core import setup
from distutils.core import Extension
test_module = Extension(name = '_cal',
    sources = ['cal_wrap.cxx','cal.cpp'],
    )
setup(name = 'cal_package',
    version = '1.0',
    author = 'Mightypants',
    ext_modules = [test_module],
    py_modules = ['cal'],
    )

4.在终端输入python setup.py build,等待编译完成

4.测试生成的py文件

1.新建测试文件test_cal.py

import cal
print(cal.sub(3,2))

2.将build/lib.linux-x86_64-2.7/路径下的cal.py_cal.so文件复制到test_cal.py文件目录下,在终端输入python test_cal.py即可测试结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lightypants

我需要你的帮助..

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值