SWIG-4.0 Documentation
Table of Contents
SWIG-4.0 Documentation
Sections
SWIG Core Documentation
Supported Language Modules Documentation
Experimental Language Modules Documentation
Developer Documentation
1 Preface
1.1 Introduction
1.2 SWIG Versions
1.3 SWIG License
1.4 SWIG resources
1.5 Prerequisites
1.6 Organization of this manual
1.7 How to avoid reading the manual
1.8 Backwards compatibility
1.9 Release notes
1.10 Credits
1.11 Bug reports
1.12 Installation
1.12.1 Windows installation
1.12.2 Unix installation
1.12.3 Macintosh OS X installation
1.12.4 Testing
1.12.5 Examples
2 Introduction
2.1 What is SWIG?
2.2 Why use SWIG?
2.3 Target languages
2.3.1 Supported status
2.3.2 Experimental status
2.4 A SWIG example
2.4.1 SWIG interface file
2.4.2 The swig command
2.4.3 Building a Perl5 module
2.4.4 Building a Python module
2.4.5 Shortcuts
2.5 Supported C/C++ language features
2.6 Non-intrusive interface building
2.7 Incorporating SWIG into a build system
2.8 Hands off code generation
2.9 SWIG and freedom
3 Getting started on Windows
3.1 Installation on Windows
3.1.1 Windows Executable
3.2 SWIG Windows Examples
3.2.1 Instructions for using the Examples with Visual Studio
3.2.1.1 C#
3.2.1.2 Java
3.2.1.3 Perl
3.2.1.4 Python
3.2.1.5 TCL
3.2.1.6 R
3.2.1.7 Ruby
3.2.2 Instructions for using the Examples with other compilers
3.3 SWIG on Cygwin and MinGW
3.3.1 Building swig.exe on Windows
3.3.1.1 Building swig.exe using MinGW and MSYS
3.3.1.2 Building swig.exe using Cygwin
3.3.1.3 Building swig.exe alternatives
3.3.2 Running the examples on Windows using Cygwin
3.4 Microsoft extensions and other Windows quirks
4 Scripting Languages
4.1 The two language view of the world
4.2 How does a scripting language talk to C?
4.2.1 Wrapper functions
4.2.2 Variable linking
4.2.3 Constants
4.2.4 Structures and classes
4.2.5 Proxy classes
4.3 Building scripting language extensions
4.3.1 Shared libraries and dynamic loading
4.3.2 Linking with shared libraries
4.3.3 Static linking
5 SWIG Basics
5.1 Running SWIG
5.1.1 Input format
SWIG-4.0 Documentation
1