Projects / Simplified Wrapper and Interface Generator

Simplified Wrapper and Interface Generator

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, PHP, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, UFFI), Java, Modula-3, OCAML, Octave, and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, 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 can also export its parse tree in the form of XML and Lisp s-expressions.


Recent releases

  •  04 Jun 2010 20:16

    Release Notes: License changes. Much better nested class/struct support. Much improved template partial specialization and explicit specialization handling. Namespace support improved. 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. Warning and error display refinements. Wrapping of shared_ptr is improved. Various other bugfixes.

    •  21 Mar 2009 01:08

      Release Notes: This release adds small feature enhancements, improved C# std::vector wrappers, and bugfixes (mainly for Python, but also for Perl, MzScheme, CFFI, Allegrocl, and Ruby).

      •  18 Nov 2007 08:57

        Release Notes: shared_ptr support was added for Java and C#. STL support for Ruby was enhanced. Windows support for R was added. A long-standing memory leak in the PHP module was fixed. Numerous fixes and minor enhancements were made for Allegrocl, C#, cffi, Chicken, Guile, Java, Lua, Ocaml, Perl, PHP, Python, Ruby, and Tcl. Warning support was improved.

        •  13 Feb 2006 00:34

          Release Notes: Major features and bugfixes.

          •  16 Oct 2005 08:58

            Release Notes: A bug in anonymous typedef structures which was leading to strange behavior was fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.