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 Javascript, 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, Lua, Modula-3, OCAML, Octave, R and Scilab. 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.

Project Activity

See All Activity >

Follow SWIG

SWIG Web Site

Other Useful Business Software

Identify and respond to threats before damage is done Icon
Identify and respond to threats before damage is done Icon

A SIEM that makes it easy to use logs for security, compliance, and troubleshooting.

SolarWinds® Log & Event Manager (LEM) delivers comprehensive Security Information and Event Management (SIEM) capabilities in a highly affordable, easy-to-use, and quick-to-deploy virtual appliance. LEM provides the visibility, security, and control that IT professionals need to alert on and respond to security threats, and assist in meeting the regulatory compliance guidelines of HIPAA, PCI DSS, SOX, and more. Try it FREE for 30 days!

Rate This Project

Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
34
0
0
0
1
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • SWIG is an outstanding tool that provides native interfaces on various languages for the C/C++ libraries. It has no any alternatives if multiple target languages are considered and has relatively good support even for C++14. Thought, SWIG also lacks plenty of features of the C++11+ that requires lots of manual tuning to make work code that uses templates and move semantics heavily, which is fine for the OFS project, especially with such excellent community, support and active development! SWIG is easy to use for simple projects, but might be rather complicated for the C++11+ code, which is an expected payoff for the provided flexibility.

  • good

  • Like smc.sourceforge.net this is yet another very effective idea and project. Thank you all contributors!

  • swig does a great job with a really, really hard problem. I run into issues occassionally, but they make a solid effort to maintain it, fix bugs, etc., and provide good support on the forum. Definitely my first choice for wrapping C/C++ for Java or Python (haven't used the other targets).

    1 user found this review helpful.
  • Excellent project! Reccommend everybody. Thanks!)))+1

Read more reviews >

Additional Project Details

Intended Audience

Developers

User Interface

Command-line

Programming Language

C++, C

Registered

2000-01-19