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.
|Tags||Software Development Compilers|
|Implementation||C C++ Perl PHP Python Tcl Ruby Java Lua C# Octave R|
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.
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).
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.
Release Notes: Major features and bugfixes.
Release Notes: A bug in anonymous typedef structures which was leading to strange behavior was fixed.