mirror of
https://github.com/ivuorinen/cheatsheet-tldr.git
synced 2026-03-19 02:01:19 +00:00
Update cheatsheets
This commit is contained in:
26
swig
Normal file
26
swig
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
syntax: markdown
|
||||
tags: [tldr, common]
|
||||
source: https://github.com/tldr-pages/tldr.git
|
||||
---
|
||||
# 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}}`
|
||||
Reference in New Issue
Block a user