I think there is no elegant way to interplay with different languages (exclude C) so better to use interprocess communications between microservices. P.S. Nice Vim config
There are situations where inter-process communication IPC) isn't a viable option. For example, you may need to work with an image or AV processing library written in C++ or some obscure networking protocol that doesn't have a native Rust implementation. It's all well and good to say use IPC, but if you're working with embedded systems or architectures that would be greatly complicated by IPC, langauge interoperability is incredibly important.
@ for embedded this approach is even worse because you have to write a lot of code which wraps C++ and Rust. It’s better to use C to wrap the libs. In this case it’s possible to use almost any language.
The build script looks kinda cursed. Like, you declare that something should be done by writing to stdout. Who had that idea? And what was the thought process behind that?
There is a confusing moment. VS Code keeps showing the error saying "cannot open source file "cxx-basics/src/main.rs.h" until you build your project and add an includePath "${workspaceFolder}/target/cxxbridge"
I think there is no elegant way to interplay with different languages (exclude C) so better to use interprocess communications between microservices.
P.S. Nice Vim config
There are situations where inter-process communication IPC) isn't a viable option. For example, you may need to work with an image or AV processing library written in C++ or some obscure networking protocol that doesn't have a native Rust implementation. It's all well and good to say use IPC, but if you're working with embedded systems or architectures that would be greatly complicated by IPC, langauge interoperability is incredibly important.
@ for embedded this approach is even worse because you have to write a lot of code which wraps C++ and Rust. It’s better to use C to wrap the libs. In this case it’s possible to use almost any language.
The build script looks kinda cursed.
Like, you declare that something should be done by writing to stdout. Who had that idea? And what was the thought process behind that?
Is expanding the FFI to map Rust tag unions to std::variant planned for the future?
Hi,
as KDAB isn't maintaining CXX directly, we cannot speak for the future of the project itself.
There is a confusing moment. VS Code keeps showing the error saying "cannot open source file "cxx-basics/src/main.rs.h" until you build your project and add an includePath "${workspaceFolder}/target/cxxbridge"