Welcome to SWIG
[ Chinese ]
SWIG is a software development tool that connects programs written in
C and C++ with a variety of high-level programming
languages. SWIG is used with different types of target languages including common scripting languages such as
Perl, PHP, Python, Tcl and Ruby. The list of
supported languages also includes
non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), D, Go language,
Java including Android, Lua, Modula-3, OCAML, Octave and R.
Also several interpreted and compiled Scheme implementations (Guile, MzScheme/Racket, Chicken)
are supported. SWIG is most
commonly used to create high-level interpreted or compiled programming
environments, user interfaces, and as a tool for testing and prototyping C/C++ software.
SWIG is typically used to parse C/C++ interfaces and generate the 'glue code' required for the above target languages to call into the C/C++ code.
SWIG can also export its parse tree in the form of XML and Lisp s-expressions.
SWIG is free software and the code that SWIG generates is compatible with both commercial and non-commercial projects.
Recent News
- 2012/04/30 - SWIG-2.0.6 released
- This release fixes a bug in SWIG-2.0.5, please use SWIG-2.0.6 instead.
SWIG-2.0.6 summary: - Regression fix for Python STL wrappers on some systems. - 2012/04/24 - Summer of Code 2012 projects
- Google has announced the list of accepted students for the Google Summer of Code program. SWIG was given 5 slots this year the SWIG developer community has chosen the following projects which will be worked on over the next 4 months:
"SWIG's Scilab 6.0 Backend" - Wolfgang Frisch "Enhance Objective C support" - Swati Sharma "Get the C backend in shape and into trunk" - Leif Middelschulte "New module for Javascript" - Neha Narang "Source Code Documentation Comments" - Dmitry Kabak
Congratulations to Wolfgang, Swati, Leif, Neha and Dmitry.
An abstract for every project is available here: http://google-melange.appspot.com/org/home/google/gsoc2012/swig
Anyone interested in these projects, is welcome to drop by on our IRC channel - #swig-gsoc on irc.freenode.net or follow the development of them on the swig-devel mailing list - http://www.swig.org/mail.html . - 2012/04/19 - SWIG-2.0.5 released
- SWIG-2.0.5 summary:
- Official Android support added including documentation and examples. - Improvements involving templates: 1) Various fixes with templates and typedef types. 2) Some template lookup problems fixed. 3) Templated type fixes to use correct typemaps. - Autodoc documentation generation improvements. - Python STL container wrappers improvements including addition of stepped slicing. - Approximately 70 fixes and minor enhancements for the following target languages: AllegroCL, C#, D, Go, Java, Lua, Ocaml, Octave, Perl, PHP, Python, R, Ruby, Tcl, Xml. - 2012/03/24 - SWIG in Google Summer of Code 2012
- SWIG has been accepted on the Google Summer of Code program for the third time. This is an opportunity for budding open source programmers to get paid for coding. If you are a student and interested please take a look at http://codewrapper.com/wiki/index.php?title=SWIG_GSoC_2012_ideas_page and http://www.google-melange.com/gsoc/homepage/google/gsoc2012 for further details. Applications must be in by 6 April 2012.
- 2011/05/21 - SWIG-2.0.4 released
- SWIG-2.0.4 release summary:
- This is mainly a Python oriented release including support for Python built-in types for superior performance with the new -builtin option. The -builtin option is especially suitable for performance-critical libraries and applications that call wrapped methods repeatedly. See the python-specific chapter of the SWIG manual for more info. - Python 3.2 support has also been added and various Python bugs have been fixed. - Octave 3.4 support has also been added. - There are also the usual minor generic improvements, as well as bug fixes and enhancements for D, Guile, Lua, Octave, Perl and Tcl. - 2011/03/29 - SWIG-2.0.3 released
- SWIG-2.0.3 has been released. This is a bug fix release including a couple of fixes for regressions in the 2.0 series.
- 2011/02/20 - SWIG-2.0.2 released
- SWIG-2.0.2 has been released and includes the following changes:
- Support for the D language has been added. - Various bug fixes and minor enhancements. - Bug fixes particular to the Clisp, C#, Go, MzScheme, Ocaml, PHP, R, Ruby target languages. - 2010/10/04 - SWIG-2.0.1 released
- SWIG-2.0.1 has been released and includes the following changes:
- Support for the Go language has been added. - New regular expression (regex) encoder for renaming symbols based on the Perl Compatible Regular Expressions (PCRE) library - http://pcre.org . - Numerous fixes in reporting file and line numbers in error and warning messages. - Various bug fixes and improvements in the C#, Lua, Perl, PHP, Ruby and Python language modules. - 2010/06/03 - SWIG-2.0.0 released
- SWIG-2.0.0 has been released. The following are the main changes:
- License changes, see LICENSE file and http://www.swig.org/legal.html . - Much better nested class/struct support. - Much improved template partial specialization and explicit specialization handling. - Namespace support improved with the 'nspace' feature where namespaces can be automatically translated into Java packages or C# namespaces. - Improved typemap and symbol table debugging. - Numerous subtle typemap matching rule changes when using the default (SWIGTYPE) type. These now work much like C++ class template partial specialization matching. - Other small enhancements for typemaps. Typemap fragments are also now official and documented. - Warning and error display refinements. - Wrapping of shared_ptr is improved and documented now. - Numerous C++ unary scope operator (::) fixes. - Better support for boolean expressions. - Various bug fixes and improvements in the Allegrocl, C#, Java, Lua, Octave, PHP, Python, R, Ruby and XML modules. - 2010/04/20 - SWIG joins the Software Freedom Conservancy
- The Software Freedom Conservancy has just announced that SWIG has been accepted as a member of the Conservancy - http://sfconservancy.org/news/2010/apr/20/swig-joins/ . Being part of the Conservancy and all the good work it does for free and open source software is great news for SWIG. The Conservancy provides many benefits such as a formal legal structure and will help ensure the vitality of SWIG as the Conservancy is able to handle donations to the SWIG project. Please visit our new http://www.swig.org/donate.html donations page.
More news
Feedback and questions concerning this site should be posted to the swig-devel mailing list.
Last modified : Thu Apr 19 19:57:26 2012
|