Windows上如何使用SWIG (c++ android 示例)

SWIG介绍

SWIG (Simplified Wrapper and Interface Generator) ,即简化包以及接口生成器,为脚本语言(tcl,perl,python等)提供了C和C++的接口。SWIG在1995年在Los Alamos National Laborator为开发一个用户接口应运而生,我的毕业设计外文翻译是其中一个科学家写的论文,在这里可以看到。SWIG把科学家从繁杂的编写接口的工作中解脱出来,使他们把更多的时间投入到更加重要的部分上去。注意的是,貌似Google App Enginer也在用SWIG。同样的功能可以用C API ,CTypes,和C++的Boost库实现,本文介绍SWIG的使用。

SWIG是一个编译器,可以处理C++的声明等。

WINDOWS下,可以用VC或者是VS配置SWIG和Python,这篇文章写的尽详细,尤其是windows的用户可以参考下。下载swig的windows版,为swig.exe增加环境变量,另外还要下载一个MinGW,或者是cygwin编译C或者是C++文件。

脚本语言如何处理C的程序?

脚本语言解释器可以通过高级控制来使用,底层的C++程序可以通过特殊的脚本语言命令来调用。脚本语言先把C++的原始函数转化为特殊的wrapper函数,其可以作为C++和脚本语言的胶水。Wrapper做了如下几件事:
1,收集函数参数确保他们都有效
2,调用C函数,
3 把函数的返回值转化为脚本语言可以识别的形式。

创建完wrapper函数,最后一步就是告诉脚本语言你这个函数。和一般就是在模块加载时在初始化函数里面实现。比方说,你创建了一个函数factor,那么系统就会为你增加一个factor的命令。



猜你喜欢

转载自blog.csdn.net/u014644594/article/details/80482593