欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/Agda, C++/Erlang/Lisp
SWIG
(→External links) |
(→External links) |
||
第20行: | 第20行: | ||
*[http://citeseer.csail.mit.edu/cs?q=SWIG Citations from CiteSeer] | *[http://citeseer.csail.mit.edu/cs?q=SWIG Citations from CiteSeer] | ||
*[http://www.skwash.com/ sKWash: the free open source SWIG GUI] | *[http://www.skwash.com/ sKWash: the free open source SWIG GUI] | ||
+ | |||
+ | {{Comment}} | ||
[[Category:Programming Language]] | [[Category:Programming Language]] |
2010年9月9日 (四) 04:14的版本
SWIG (Simplified Wrapper and Interface Generator) is a free computer software tool used to connect programs written in C/C++ with scripting languages such as Lua, Tcl, Perl, Python, Ruby, Guile, Chicken, PHP and other languages like Java, C#, and Ocaml. The aim is to achieve this connection with minimal effort: a small number of directives are added to the program's header files. Running the SWIG tool creates source code which provides the glue between C/C++ and the target language. Depending on the language, this glue comes in three forms: an executable that embeds the interpreter for the scripting language, a shared library that links into an existing interpreter as some form of extension module, or a shared library that can be linked to other programs compiled in the target language (for example, using JNI).
There are two main purposes of embedding a scripting engine into an existing C/C++ program:
- The program can then be customized much more quickly, using the scripting language rather than C/C++. The scripting engine may even be exposed to the end user, so that they can automate common tasks by writing scripts.
- Even if the final product is not to contain the scripting engine, it may nevertheless be quite useful to write testing scripts.
There are a very wide variety of reasons to create dynamic libraries that can be loaded into existing interpreters, including:
- Provide access to a C/C++ library which has no equivalent in the scripting language.
- Write the whole program in the scripting language, and after profiling, rewrite performance critical code in C or C++.
SWIG is written in C and C++ and has been publicly available since February 1996. The initial author was Dave Beazley, who developed SWIG while working as a graduate student at Los Alamos National Laboratory and the University of Utah. Development is currently supported by an active group of volunteers. SWIG has been released under a BSD type license, meaning it can be used, copied, modified and redistributed freely, for commercial and non-commercial purposes.
See also
External links
- Project home page
- SwigWiki - Wiki containing information about using SWIG.
- Article "Expose Your C/C++ Program's Internal API with a Quick SWIG" by Victor Volkman
- Citations from CiteSeer
- sKWash: the free open source SWIG GUI
<discussion>characters_max=300</discussion>