cleanup---and more subversion.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4009 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
847f6b207c
commit
c1f7758c75
3 changed files with 18 additions and 81 deletions
|
|
@ -4,20 +4,7 @@ SWIG Features
|
|||
<h2>SWIG Features</h2>
|
||||
|
||||
<p>
|
||||
In the last five years, dozens of extension building tools have been
|
||||
released---most of which can be found from the SWIG <a
|
||||
href="links.html">links</a> page. All of these tools attempt to
|
||||
simplify the extension building process---and the documentation for
|
||||
many of them make a point of comparing themselves to SWIG. What these
|
||||
comparisons don't tell you is that they are almost always based on
|
||||
SWIG-1.1, a rather old, but widely distributed release dating from
|
||||
1997. To be fair, SWIG-1.1 is an easy target--it did have a lot of
|
||||
limitations. However, all of this is "old news" and mostly irrelevant
|
||||
to the current release. Therefore, this page hopes to set the record
|
||||
straight on what SWIG supports and what it doesn't support.
|
||||
|
||||
<p>
|
||||
This information is based on the current release, SWIG-1.3.14.
|
||||
This information is based on the current release, SWIG-1.3.16.
|
||||
|
||||
<h3>Code Generation</h3>
|
||||
|
||||
|
|
@ -58,7 +45,7 @@ SWIG is capable of wrapping all of ANSI C. Features include:
|
|||
SWIG provides wrapping support for almost all of ANSI C++.
|
||||
|
||||
<ul>
|
||||
<Li>All C++ datatypes (SWIG implements the full ANSI C++ type system).
|
||||
<Li>All C++ datatypes.
|
||||
<Li>References.
|
||||
<li>Pointers to members.
|
||||
<li>Classes.
|
||||
|
|
@ -117,54 +104,6 @@ hierarchies, template instantiations, and more. Features include:
|
|||
<li>Extended SWIG macro handling.
|
||||
</ul>
|
||||
|
||||
<h3>SWIG <em>knows</em> C++</h3>
|
||||
|
||||
One of SWIG's greatest strengths is that it implements the full ANSI
|
||||
C++ type system and it uses multi-pass compilation to gather a wide
|
||||
range of information from input files. SWIG is fully aware of C++
|
||||
semantics and is able to automatically avoid a wide variety of
|
||||
potential compilation problems. Also, by relying upon compiler technology, SWIG
|
||||
is able to look at the interface and make intelligent decisions about the generation of wrappers.
|
||||
This also allows SWIG to provide a highly flexible set of customization features.
|
||||
|
||||
<h3>Everything is allowed</h3>
|
||||
|
||||
When considering the use of a wrapper generation tool, it's important
|
||||
to read the fine-print. Although other tools might offer different
|
||||
features than SWIG, they often have major limitations that are rarely
|
||||
advertised. For example, if a tool claims to "parse" C++, but
|
||||
fails to implement a basic feature like <tt>typedef</tt>, then that tool
|
||||
probably doesn't implement the type system correctly. Similarly, tools often
|
||||
place artificial limits on fundamental things like the number of
|
||||
allowed arguments to a function, supported datatypes, and so forth.
|
||||
Even some tools that claim to be the "leading C++
|
||||
wrapping solution" are known to not support simple declarations
|
||||
involving references, pointers, and other fundamental C++
|
||||
datatypes---simply because these declarations are unsafe and therefore
|
||||
"not allowed."
|
||||
|
||||
<p>
|
||||
SWIG is by no means perfect and it does not claim do everything. However, a
|
||||
fundamental goal of the SWIG project has been to provide basic wrapping
|
||||
support for <em>all</em> of C++. In certain cases, this might be dangerous and
|
||||
it might even require additional user input. Nevertheless,
|
||||
SWIG gives you the freedom and the flexibility to handle difficult
|
||||
real-world wrapping problems without artificial limits and without the
|
||||
baggage of a programming morality agenda.
|
||||
|
||||
<h3>SWIG is documented</h3>
|
||||
|
||||
Since its initial release, SWIG has included hundreds of pages of user
|
||||
documentation. This documentation describes every SWIG feature and
|
||||
attempts to fully disclose SWIG's limitations (when applicable). Not
|
||||
only that, the documentation specifically addresses some of the more
|
||||
difficult wrapping problems.
|
||||
|
||||
<h3>The bottom line</h3>
|
||||
|
||||
Extension building is an important aspect of software development for
|
||||
many C and C++ programmers. Fortunately, there are many different
|
||||
tools that attempt to solve this problem. You should choose a tool
|
||||
that you like and which works. We certainly hope that you
|
||||
consider the use of SWIG. Better yet, we hope that you try it and like it.
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,16 @@ Simplified Wrapper and Interface Generator
|
|||
|
||||
[ <a href="http://swig-jp.dyndns.org">Japanese</a> ]
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<em>
|
||||
"So, we caught one of our interns out back with our mission critical C++
|
||||
code, a couple of scripting languages, and SWIG. And that boy had the
|
||||
nerve to call it a 'computer science' project. We killed him--had no
|
||||
other choice." -- Anonymous
|
||||
</em>
|
||||
</center>
|
||||
|
||||
<p>
|
||||
SWIG is a software development tool that connects programs written in
|
||||
C and C++ with a variety of high-level programming
|
||||
|
|
@ -27,18 +37,12 @@ noncommercial use.
|
|||
</ul>
|
||||
|
||||
<p>
|
||||
<h3>SWIG-2.0 project</h3>
|
||||
|
||||
Essays related to the future of SWIG development and the ongoing
|
||||
development work.
|
||||
|
||||
<ul>
|
||||
<li> <a href="article_cpp.html">"Thoughts on the insanity of C++ Parsing"</a>. David Beazley, August 12, 2002.
|
||||
<li> <a href="future.html">"SWIG-1.3.12, SWIG-2.0, and Beyond"</a>. David Beazley, June 2, 2002.
|
||||
</ul>
|
||||
<h3>News</h3>
|
||||
|
||||
<p>
|
||||
<h3>News</h3>
|
||||
<b>2002/10/14</b>Join us in Austin for an intense 3-day course on
|
||||
<a href="http://www.enthought.com/training/building_extensions.html">
|
||||
Python-C++ extension building.</a>
|
||||
|
||||
<p>
|
||||
<b>2002/10/14</b>
|
||||
|
|
|
|||
|
|
@ -3,12 +3,6 @@ SWIG Myths
|
|||
<p>
|
||||
<h2>SWIG Myths</h2>
|
||||
|
||||
<center>
|
||||
<em>
|
||||
"Don't believe everything you read."
|
||||
</em>
|
||||
</center>
|
||||
|
||||
<p>
|
||||
Here are some common misconceptions about SWIG that have occasionally
|
||||
appeared on other web pages and in articles--especially those that
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue