使用swig在python中调用c++代码
2017-05-13 22:36
806 查看
1. 使用sudo apt install swig来按照swig
2. 编写对应的.i文件
假设我们编写的c++文件和.h文件如下:/* File: example.cpp */ #include "example.h" int fact(int n) { if (n < 0){ /* This should probably return an error, but this is simpler */ return 0; } if (n == 0) { return 1; } else { /* testing for overflow would be a good idea here */ return n * fact(n-1); } } /* File: example.h */ int fact(int n); 则对应的.i文件如下: /* File: example.i */ %module example %{ #define SWIG_FILE_WITH_INIT #include "example.h" %} int fact(int n);
3. 生成对应的.example_wrap.cxx和example.py.
运行命令:swig -c++ -python example.i4. 使用 distutils工具编译
首先生成一个setup.py文件#!/usr/bin/env python """ setup.py file for SWIG example """ from distutils.core import setup, Extension example_module = Extension('_example', sources=['example_wrap.cxx', 'example.cpp'], #一定要把cpp源文件包含,如果该源文件包含了别的依赖,则应该也包含进来 ) setup (name = 'example', version = '0.1', author = "SWIG Docs", description = """Simple swig example from docs""", ext_modules = [example_module], py_modules = ["example"], )
然后使用命令python setup.py install编译生成即可
参考链接,第31.2 Preliminaries
相关文章推荐
- 使用SWIG实现Python调用C/C++代码
- centos中使用swig实现python调用c++
- Python调用C/C++(使用SWIG)
- centos7下使用swig扩展python接口来调用c++ 实现声纹识别
- Windows下python使用SWIG调用C++ dll
- 通过SWIG封装C/C++代码被Python调用
- linux下使用swig让python调用C++(复杂版:包括多文件调用和链接库)
- 利用Swig在python中调用C/C++代码
- linux下使用SWIG实现Python调用C++ sdk读取相机图片
- 使用swig工具为go语言生成调用C、C++代码例子
- linux下使用swig让python调用C++(复杂版:包括多文件调用和链接库)
- 使用swig从c/c++代码生成java/python/R/php...代码
- 用Swig将c/c++程序转为java代码(使用swig实现java调用c、c++的方法)
- Python接口(2):使用ctpyes模块在python中调用c++代码
- Linux下利用SWIG完成Python对使用OpenCV的C++文件的调用
- Python调用C++函数(SWIG,VS2013使用numpy.i完成Numpy与C++数组转换)
- python调用 C/C++ 代码示例
- 使用SWIG和Python对C/C++进行单元测试
- Python在C/C++代码自动生成中的使用
- 使用SWIG实现C/C++与其他语言间的互相调用