C++ 与 Rust 的双向互操作绑定生成器:Crubit
来源:crubit.rs — 2026-08-06
📋 概述
Crubit 是一个面向 C++ 与 Rust 的双向绑定生成器,目标是整合两个生态系统。文档以示例展示如何把 Rust 库调用进 C++(共享引用映射成 const 引用、&str 映射成 rs_std::StrRef),以及把 C++ 头文件(std::string_view、std::optional、unique_ptr 等)安全地调用进 Rust,并附上可复制的入门走查。
🔑 核心要点
- 双向绑定生成器,让 C++ 与 Rust 代码互相调用,目标是整合两个生态。这意味着开发者不必在两种语言间手动写胶水代码,迁移与混合开发更顺畅。
- Rust 库可被 C++ 调用:&Account 映射为 const 引用、&str 映射为 rs_std::StrRef,实现 Display 还能直接打印。这样 C++ 侧能以接近原生的方式使用 Rust 类型,降低了接入摩擦。
- C++ 头文件也能被 Rust 调用:std::optional、std::string_view、unique_ptr 都有安全映射。这意味着常见 C++ 类型能在 Rust 侧得到安全、可控的语义,避免裸指针带来的隐患。
- 提供两条完整走查(C++ 绑定 Rust 库、Rust 绑定 C++ 库)与可复制粘贴的示例代码。这让新用户能快速跑通最小示例,再逐步扩展到自己的项目。
- 含生成的绑定快照,并维护 nightly 与 stable 的测试矩阵。这样做的好处是不同工具链版本下行为都可验证,降低编译环境差异带来的回归风险。
💡 金句
Crubit 的目标是把 C++ 与 Rust 两个生态系统整合在一起。
👍 0
👎 0
← 返回 Lobsters 首页