tldr/pages/common/swig.md
Vitor Henrique c8f956319f
pages*: simplify page description (#12149)
Co-authored-by: Sebastiaan Speck <12570668+sebastiaanspeck@users.noreply.github.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
2024-02-14 21:25:13 +01:00

813 B

swig

Generate bindings between C/C++ code and various high level languages such as JavaScript, Python, C#, and more. It uses special .i or .swg files to generate the bindings (C/C++ with SWIG directives, then outputs a C/C++ file that contains all the wrapper code needed to build an extension module. More information: http://www.swig.org.

  • Generate a binding between C++ and Python:

swig -c++ -python -o {{path/to/output_wrapper.cpp}} {{path/to/swig_file.i}}

  • Generate a binding between C++ and Go:

swig -go -cgo -intgosize 64 -c++ {{path/to/swig_file.i}}

  • Generate a binding between C and Java:

swig -java {{path/to/swig_file.i}}

  • Generate a binding between C and Ruby and prefix the Ruby module with foo::bar:::

swig -ruby -prefix "{{foo::bar::}}" {{path/to/swig_file.i}}