6 ms·
> Cxxwrap was broken for a while there, maybe a few years? Maybe it was cxx Yes, Cxx: https://github.com/JuliaInterop/Cxx.jl https://github.com/JuliaInterop/Cx
by ihnorton 3y ago
> Cxxwrap was broken for a while there, maybe a few years? Maybe it was cxx
Yes, Cxx: https://github.com/JuliaInterop/Cxx.jl https://github.com/JuliaInterop/Cxx.jl -- it uses Clang to generate JIT'd interop thunks, and does neat things to enable that, like cross-language type inference and inlining (in addition to the REPL).
CxxWrap is a different thing, which AFAIK has been actively maintained for > 5 years now: https://github.com/JuliaInterop/CxxWrap.jl https://github.com/JuliaInterop/CxxWrap.jl
It is similar to Boost.Python/pybind11/nanobind: bindings are written in C++ and compiled ahead of time into a module that defines Julia entrypoints. Those entrypoints take care of signature selection, translation to/from Julia objects, and lifetime bookkeeping.
- alhirzel 3y agoIf you're using plain-old-C, don't overlook the excellent CBinding.jl: https://github.com/analytech-solutions/CBinding.jl https://github.com/analytech-solutions/CBinding.jl
- kristofferc 3y agoThere is also a new player in the game of C++ wrapping Julia: https://github.com/Clemapfel/jluna https://github.com/Clemapfel/jluna
- Archit3ch 3y agoGood project, but note that it has its own (pre 1.9) threading model.
- cookieperson 3y agoClassic Julia. Every minor version bumps you gotta rewrite your code.