nbind
:sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket: (by charto)
SWIG
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. (by swig)
nbind | SWIG | |
---|---|---|
1 | 25 | |
1,966 | 5,512 | |
0.2% | 0.9% | |
0.0 | 9.7 | |
about 5 years ago | 7 days ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nbind
Posts with mentions or reviews of nbind.
We have used some of these posts to build our list of alternatives
and similar projects.
-
[AskJS] C++ -> compile to both wasm for web and binary add-on for node.js?
nbind aimed to do that, but it's difficult to maintain, and it didn't take off.
SWIG
Posts with mentions or reviews of SWIG.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-18.
- Swig – Connect C/C++ programs with high-level programming languages
- Using Lua with C++
-
Purego – A library for calling C functions from Go without Cgo
How is this any different than a mature tool such as SWIG (https://www.swig.org/)?
I've used SWIG extensively with Python to call C code and import C headers for testing/tooling purposes.
-
How does Golang communicate with C++?
For pure C, CGO. For C++ they are likely creating shims with Swig: https://www.swig.org/
-
I feel really dumb whenever I take a coding test for a job
I mostly write in C and C++ so for language bindings I use Swig a lot. Say Im creating a machine learning library in C++, its very easy to create a Python API that can call the C++ classes and methods using Swig. iirc, I am using the same swig interface file to create bindings for Python, OCaml, R and even Fortran. Feel free to DM me if you got any more questions or anything!
-
Is there a way to use a c++ project in a python project?
Swig can make c++ types and functions available to python.
-
Boxflow - A universal layout engine written in Zig
The likes of SWIG is often used to link C library-like code to 11-ish other widely used languages.
-
Hi, I have this program in C which I have to convert in Java(Android code), so that it could be used for decoding the output obtained from a Simulated program. Please help.
Maybe you could use swig to create a wrapper for Java.
-
How do SWIG and LLVM compare as language ecosystems?
But, you might find these links interesting: * https://github.com/swig/swig/issues/918 * https://github.com/kaby76/swigged.llvm
What are some alternatives?
When comparing nbind and SWIG you can also consider the following projects:
v8pp - Bind C++ functions and classes into V8 JavaScript engine
cffi
CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages
sol2 - Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
Cython - The most widely used Python to C compiler
JavaCPP - The missing bridge between Java and native C++
djinni
V8 - The official mirror of the V8 Git repository
nelson - The Nelson Programming Language
JNA - Java Native Access