rust-bindgen

Automatically generates Rust FFI bindings to C (and some C++) libraries. (by rust-lang)

Rust-bindgen Alternatives

Similar projects and alternatives to rust-bindgen

  1. rust

    Empowering everyone to build reliable and efficient software.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. zfs

    OpenZFS on Linux and FreeBSD

  4. rfcs

    679 rust-bindgen VS rfcs

    RFCs for changes to Rust

  5. crates.io

    The Rust package registry

  6. bevy

    590 rust-bindgen VS bevy

    A refreshingly simple data-driven game engine built in Rust

  7. wasmer

    🚀 Fast, secure, lightweight containers based on WebAssembly

  8. cross

    “Zero setup” cross compilation and “cross testing” of Rust crates

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. cxx

    Safe interop between Rust and C++

  11. surrealdb

    A scalable, distributed, collaborative, document-graph database, for the realtime web

  12. patterns

    65 rust-bindgen VS patterns

    A catalogue of Rust design patterns, anti-patterns and idioms

  13. libfive

    Infrastructure for solid modeling

  14. autocxx

    Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers

  15. cargo-generate

    cargo, make me a project

  16. rlua

    High level Lua bindings to Rust

  17. nix

    12 rust-bindgen VS nix

    Rust friendly bindings to *nix APIs (by nix-rust)

  18. rust-cpp

    Embed C++ directly inside your rust code!

  19. eve

    Expressive Vector Engine - SIMD in C++ Goes Brrrr (by jfalcou)

  20. Introducing .NET Multi-platform App UI (MAUI)

    .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

  21. JNA

    28 rust-bindgen VS JNA

    Java Native Access

  22. CC

    A small, usability-oriented generic container library.

  23. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better rust-bindgen alternative or higher similarity.

rust-bindgen discussion

Log in or Post with

rust-bindgen reviews and mentions

Posts with mentions or reviews of rust-bindgen. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-12-31.
  • Static search trees: 40x faster than binary search
    15 projects | news.ycombinator.com | 31 Dec 2024
    Well, I don't use makefiles to deploy software with Rust. I also have never used lex or yacc, but I bet there are similar tools in the ecosystem, or wrappers for those. That would obviate what I will offer below.

    Often a new language in a project would define an application boundary. So those would be different containers or services. I may deploy via container images, or an OS specific installer, etc. If we aren't crossing an application boundary I may use FFI. Sometimes I use https://rust-lang.github.io/rust-bindgen/ to smooth that over for C dependencies. There is also a nice concept called a build.rs file: https://doc.rust-lang.org/cargo/reference/build-script-examp.... There's also tools like: https://github.com/casey/just and https://sagiegurari.github.io/cargo-make/

    I rarely use multiple languages with Rust. A lot of interpreted languages have bindings through crates and can go in to a project through Cargo. If it involves JS/TS on desktop, I'm usually using Tauri for that. Guess it depends on the system?

    Hopefully that helps. You can also still use a Makefile if you want I just haven't dealt with one in a long time.

  • Eliminating Memory Safety Vulnerabilities at the Source
    1 project | news.ycombinator.com | 26 Sep 2024
    Essentially, this has been Rusts value proposition from the outset - build a language that you can integrate into other codebases seamlessly, hence the choice of no runtime, no garbage collector etc. Bindgen (https://github.com/rust-lang/rust-bindgen) and similar tooling were around essentially since day one to assist in that.

    It’s the only approach that has any chance of transitioning away from unsafe languages for existing, mature codebases. Rewriting entirely in a different language is not a reasonable proposition for every practical real-world project.

  • Rust for Filesystems
    4 projects | news.ycombinator.com | 15 Jul 2024
    Now, if you have a complex library and don't want to write all of the declarations by hand, you can use a tool like bindgen to automatically generate those extern declarations from a C header file: https://github.com/rust-lang/rust-bindgen

    There's an argument to be made that something like bindgen could be included in Rust, not requiring a third party dependency and setting up build.rs to invoke it, but that's not really the issue at hand in this article.

    The issue is not the low-level bindings, but higher level wrappers that are more idiomatic in Rust. There's no way you're going to be able to have a general tool that can automatically do that from arbitrary C code.

  • Rust Bindgen
    1 project | news.ycombinator.com | 18 Sep 2023
  • ffizz: Build a Beautiful C API in Rust
    6 projects | dev.to | 20 Jun 2023
    Rust supports two kinds of FFI: calling into Rust from another language; and calling into another language from Rust. Most of the thought and tooling that exists right now is organized around the second kind. For example, bindgen is a popular tool that generates useful Rust wrappers from a C or C++ header file.
  • Best practices in creating a Rust API for a C++ library? Seeking advice from those who've done it before.
    7 projects | /r/rust | 26 May 2023
    I have looked into bindgen, but found that it would not be feasible due to OMPL not having a C API, just C++.
  • the graphics driver doesn't work on gentoo.
    2 projects | /r/AsahiLinux | 15 May 2023
    Yes! Are you running LLVM version 16.0.0 or newer, by any chance? I believe this is an issue with some builds of bindgen with newer versions of LLVM. See https://github.com/rust-lang/rust-bindgen/issues/2488
  • Any sort of plugin engine with dynamic load ability and any limitations?
    5 projects | /r/rust | 23 Apr 2023
    On native, you have to define a C API, probably using a header file. Even if both sides are implemented in Rust, they have to speak that C API (documentation).
  • How can I use rust libraries in C++
    2 projects | /r/cpp_questions | 16 Apr 2023
    Bindgen has some functionality for direct talk to C++ https://github.com/rust-lang/rust-bindgen
  • Issue resolving dependencies when linking C libraries
    1 project | /r/rust | 7 Apr 2023
    I am trying to use rust-bindgen (https://github.com/rust-lang/rust-bindgen) to link a static C library (say `libexample.a`) which is compiled in a separate project with CMake. The `libexample.a` depends on other libraries (for example `libcurl.a`) installed on the system.
  • A note from our sponsor - SaaSHub
    www.saashub.com | 7 Feb 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic rust-bindgen repo stats
54
4,620
9.4
10 days ago

Sponsored
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai