SWIG是一款调用C语言代码接口的工具,可以实现java、C#等高级语言以及PHP、Javascript、Python等调用C和C++代码,还支持多种的封装语言,多用于高级的编译环境。
软件介绍
SWIG是一个Java/PHP/Python等调用C语言代码接口,可以实现在java、C#等高级语言以及PHP、Javascript、Python等脚本语言中调用C和C++代码的功能,目前支持23种不同的封装语言,常用于创建高级解释或编译的编程环境、用户界面以及用于测试和原型化C / C ++软件。
SWIG支持的语言
Allegro CL
C#
CFFI
CLISP
Chicken
D
Go
Guile
Java
Javascript
Lua
Modula-3
Mzscheme
OCAML
Octave
Perl
PHP
Python
R
Ruby
Scilab
Tcl
UFFI
SWIG主要用途
1、构建更强大的C / C ++程序。使用SWIG,您可以使用脚本解释器替换C程序的main()函数,从中可以控制应用程序。这增加了相当多的灵活性,并使程序“可编程”。也就是说,脚本界面允许用户和开发人员轻松修改程序的行为,而无需修改低级C / C ++代码。这样做的好处很多。实际上,想想你每天都在使用的所有大型软件包 - 几乎所有这些软件包都包含特殊的宏语言,配置语言,甚至允许用户进行自定义的脚本引擎。
2、快速原型和调试。 SWIG允许将C / C ++程序放置在可用于测试和调试的脚本环境中。例如,您可以用一组脚本测试一个库或使用脚本解释器作为交互式调试器。由于SWIG不需要修改底层的C / C ++代码,因此即使最终产品不依赖于脚本,也可以使用它。
3、系统集成。脚本语言对松散耦合的软件组件进行控制和粘贴非常有效。借助SWIG,不同的C / C ++程序可以转化为脚本语言扩展模块。然后可以将这些模块组合在一起以创建新的有趣的应用程序。
4、构建脚本语言扩展模块。 SWIG可用于将通用的C / C ++库转换为组件,以用于流行的脚本语言。当然,您仍然希望确保在执行此操作之前没有其他人已经创建了模块。