Rust interop guide

Talking to Rust from other languages (and vice versa)

What does it actually take to make new Rust code talk directly to your existing software?

This series of blog posts can help you to introduce Rust into your codebase step by step, whether it's C, C++, Python, Node.js, Java, or JavaScript.

  • Mix in Rust
  • Mix in Rust with C
  • Mix-in Rust with C: Delegating FFI definitions to Diplomat (July 2024)
  • Mix in C with Rust: A taste of C in your Rust (July 2024)
  • Mix in Rust with Python: PyO3 (Aug 2024)
  • More coming soon! (Aug 2024)
June 6, 2024

Mix in Rust

What does it actually mean to introduce Rust in an existing project, and having it communicate with other languages in the code base? This article launches a series of blog posts that provide guidance for introducing Rust into your code base step by step.
Henk
Embedded software engineer
June 7, 2024

Mix in Rust with C

So, you've just read my previous post on Rust interoperability in general, and now you're curious about how to actually apply the concepts to your situation. You've come to the right place, because in this post and the two that follow, I'll demonstrate how to make Rust and C talk to each other.
Henk
Embedded software engineer


Stay up-to-date

Stay up-to-date with our work and blog posts?

Meet the contributors

Henk
Embedded software engineer
Henk is an embedded Rust expert, who loves teaching others his trade.
Tamme
Embedded software engineer
Tamme is an embedded expert with extensive C++ experience.
Marc
Software engineer
Marc is an expert in C and secure systems programming.
Folkert
Systems software engineer
Folkert is an expert in systems programming and linguistics.

Support us

Donations and sponsoring are essential for us to maintain and extend our interop guide and other education projects like teach-rs. Contact us at donate@tweedegolf.com if you want to support our work.

Get professional assistance!

Our engineers are Rust experts and have ample experience designing and building software for systems, web and embedded platforms.

They can train your team, lead your team, work as part of your team (team augmentation) or take entire projects off your hands.

Check out our training and engineering services to find out how we can help you introduce Rust in your existing projects. Or get in touch with any questions.