GPL (GNU General Public License)    
2.9/5 17
An interface compiler that connects C and C++ programs with various scripting languages

editor's review





SWIG is an open source, completely free, multiplatform and portable interface compiler, a C/C++ command-line program that allows developers to connect their applications with various other scripting/programming languages.

It has been designed from the ground up to be used for capturing C/C++ header files’ declarations and generate the wrapper code required by the scripting languages for accessing the underlying C/C++ code.

Features at a glance

Key features include class and structure extension, exception handling, memory management, template instantiation, ambiguity resolution, file import and cross-module linking, extended SWIG macro handling, extensive diagnostics, as well as code inclusion.

SWIG supports several popular programming languages, including Allegro CL, C#, CFFI, CLISP, Chicken, Guile, Java, Lua, Modula-3, Mzscheme, OCAML, Perl, PHP, Python, R, Ruby, Tcl, and UFFI.

Additionally, SWIG provides a full C pre-processor that contains features like macro expansion, automatic wrapping of #define statements as constants, support for customized type conversion and marshaling, helper function support, as well as support for C99.

Can be used to generate numerous wrappers

The program can be used from the command-line interface to generate numerous wrappers for several programming languages, including ALLEGROCL, CHICKEN, CLISP, CFFI, C#, D, Go, Guile, Java, JavaScript, Lua, Modula 3, Mzscheme, Ocaml, Octave, Perl, PHP, Pike, Python, R, Ruby, Lisp, Tcl, Common Lisp and XML.

A wide range of command-line options are implemented, allowing you to interact with SWIG’s built-in functionality. These and several usage examples can be viewed at a glance by running the ‘swig --help’ command in any terminal emulator application.

Runs on Linux, Mac and Windows

SWIG runs on all GNU/Linux distributions, as well as on the Microsoft Windows and Mac OS X operating systems, supporting 64-bit and 32-bit flavors. It is written in the C++ and C programming languages. Detailed installation instructions are provided on the project’s homepage (see link below).

SWIG was reviewed by Marius Nestor
Last updated on August 3rd, 2015
SWIG - SWIG can be used to generate wrappers for various programming languagesSWIG - Command-line options of the SWIG software, as viewed from the Linux TerminalSWIG - Additional command-line options of the SWIG programSWIG - screenshot #4SWIG - screenshot #5

0 User reviews so far.