# Is there any plan to create a pybind11-like C++ binding framework for Julia?

**URL:** <https://discourse.julialang.org/t/is-there-any-plan-to-create-a-pybind11-like-c-binding-framework-for-julia/111268>\
**Category:** General Usage\
**Tags:** question\
**Created:** [March 6, 2024, 11:23pm UTC](https://discourse.julialang.org/t/is-there-any-plan-to-create-a-pybind11-like-c-binding-framework-for-julia/111268 "2024-03-06T23:23:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Guanglin\_Du](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guanglin_du/32/43088_2.png) [@Guanglin\_Du](https://discourse.julialang.org/u/Guanglin_Du)\
**Post date:** [March 6, 2024, 11:23pm UTC](https://discourse.julialang.org/t/is-there-any-plan-to-create-a-pybind11-like-c-binding-framework-for-julia/111268/1 "2024-03-06T23:23:51Z")

</div>

Hi, there. I just love Julia so much. However, Fortran and C/C++ have been playing a crucial role in scientific computing for decades. Is any Julia guru planning to create a pybind11-like binding framework for Fortran or C/C++?

---

<div class="post-metadata">

**Author:** ![adienes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adienes/32/37459_2.png) [@adienes](https://discourse.julialang.org/u/adienes)\
**Post date:** [March 7, 2024, 12:13am UTC](https://discourse.julialang.org/t/is-there-any-plan-to-create-a-pybind11-like-c-binding-framework-for-julia/111268/2 "2024-03-07T00:13:12Z")

</div>

[https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/](https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/)

🙂

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [March 7, 2024, 12:13am UTC](https://discourse.julialang.org/t/is-there-any-plan-to-create-a-pybind11-like-c-binding-framework-for-julia/111268/3 "2024-03-07T00:13:58Z")

</div>

Calling native code from Julia is much easier than it is from Python.

Julia can call C and Fortran directly:  
[https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/](https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/)  
This often involves just a single line call to `ccall` or `@ccall`.

Clang.jl can parse C headers and automate the wrapping.

> **[GitHub - JuliaInterop/Clang.jl: C binding generator and Julia interface to...](https://github.com/JuliaInterop/Clang.jl)**
>
> C binding generator and Julia interface to libclang - JuliaInterop/Clang.jl

For C++ there are a few distinct packages:

> **[GitHub - JuliaInterop/CxxWrap.jl: Package to make C++ libraries available in...](https://github.com/JuliaInterop/CxxWrap.jl)**
>
> Package to make C++ libraries available in Julia. Contribute to JuliaInterop/CxxWrap.jl development by creating an account on GitHub.

> **[GitHub - Clemapfel/jluna: Julia Wrapper for C++ with Focus on Safety,...](https://github.com/Clemapfel/jluna)**
>
> Julia Wrapper for C++ with Focus on Safety, Elegance, and Ease of Use - Clemapfel/jluna

> **[GitHub - analytech-solutions/CBinding.jl: Automatic C interfacing for Julia](https://github.com/analytech-solutions/CBinding.jl)**
>
> Automatic C interfacing for Julia. Contribute to analytech-solutions/CBinding.jl development by creating an account on GitHub.

Is there something missing?

---

<div class="post-metadata">

**Author:** ![Guanglin\_Du](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/guanglin_du/32/43088_2.png) [@Guanglin\_Du](https://discourse.julialang.org/u/Guanglin_Du)\
**Post date:** [March 7, 2024, 2:09am UTC](https://discourse.julialang.org/t/is-there-any-plan-to-create-a-pybind11-like-c-binding-framework-for-julia/111268/4 "2024-03-07T02:09:11Z")

</div>

Thank you, adienes and mkitti. It seems there’s no need to create a pybind11-like binding framework for Fortran, C, and C++ to be called from within Julia.
