Dust DDS C bindings
Dust DDS provides a robust and efficient DDS C library interface, enabling developers to integrate the reliability of a Rust-based middleware into their C and C++ applications. While Dust DDS is natively implemented in the Rust programming language to ensure memory safety and high performance, we recognize the enduring importance of C and C++ in embedded systems and critical infrastructure.
The Power of Rust, The Flexibility of C
Dust DDS leverages Rust’s ownership model to guarantee memory safety and thread safety at compile time. This ensures that the core middleware is free from common vulnerabilities such as null pointer dereferences, buffer overflows, and data races.
However, migrating to a new language is not always feasible or desirable for every project. The Dust DDS C bindings bridge this gap, offering a native C API that allows you to:
- Maintain Existing Codebases: Integrate Dust DDS into legacy C or C++ projects without needing to rewrite application logic in Rust.
- Leverage Rust Safety: Benefit from the stability of a Rust-based core, significantly reducing the likelihood of middleware crashes or undefined behavior.
- High Performance: Access the low-latency, real-time capabilities of Dust DDS with zero-cost FFI (Foreign Function Interface) overhead.
A Modern DDS C++ Library Solution
For developers looking for a DDS C++ library, our C bindings serve as a foundational layer that can be easily wrapped or used directly within C++ projects. This approach provides a lightweight and ABI-stable interface, avoiding the complexities often associated with C++ dependency management while delivering the robustness of modern software engineering.
Whether you are building critical control systems or high-performance distributed applications, Dust DDS allows you to stick to your preferred C/C++ workflow while capitalizing on the advancements of the Rust ecosystem.
Commercial Access
Access to the source code repository for the Dust DDS C bindings is available as a paid product. By licensing the bindings, you gain access to a professionally maintained code integration layer designed for enterprise and critical system environments.
If you are interested in using the C bindings for your project, please contact us to discuss licensing options and how we can support your specific requirements.