【CXX】5 桥接模块参考

第1章篇(核心概念)介绍了CXX用于表示语言边界的高级模型。本篇在此基础上,详细记录#[cxx::bridge]的语法和功能。

  1. extern "Rust"
  • 暴露不透明的Rust类型、Rust函数、Rust方法给C++。

  • 包含生命周期的函数。

  1. extern "C++"
  • 绑定不透明的C++类型、C++函数、C++成员函数。

  • 在多个桥接模块或不同crate之间共享不透明类型定义。

  • 在CXX桥接中使用bindgen生成的数据结构。

  • 以符合Rust孤儿规则的方式,请求在特定桥接模块中生成特定的胶水代码。

  1. 共享类型
  • 共享结构体。

  • 共享枚举。

  • 使用Rust作为数据源或C++作为数据源。

  1. 属性
  • 处理命名空间。

  • 在非原生语言中为函数指定不同的名称。

  1. 异步函数
  • 将异步C++与异步Rust集成。
  1. 错误处理
  • 在语言边界上表示可失败性。

  • 从C++访问Rust错误信息。

  • 自定义捕获的异常集及其转换为Rust错误信息的方式。

相关推荐
EutoCool1 小时前
Qt:布局管理器Layout
开发语言·c++·windows·嵌入式硬件·qt·前端框架
寻月隐君3 小时前
想用 Rust 开发游戏?这份超详细的入门教程请收好!
后端·rust·github
LuckyLay6 小时前
使用 Docker 搭建 Rust Web 应用开发环境——AI教你学Docker
前端·docker·rust
SoniaChen336 小时前
Rust基础-part3-函数
开发语言·后端·rust
真的想上岸啊7 小时前
学习C++、QT---21(QT中QFile库的QFile读取文件、写入文件的讲解)
c++·qt·学习
醇醛酸醚酮酯9 小时前
Qt项目锻炼——TODO(五)
开发语言·qt
mit6.82410 小时前
论容器化 | 分析Go和Rust做医疗的后端服务
docker·golang·rust
Source.Liu14 小时前
【unitrix】 4.21 类型级二进制数基本结构体(types.rs)
rust
SoniaChen3315 小时前
Rust基础-part2-变量和可变类型
开发语言·后端·rust
寻月隐君15 小时前
Rust 错误处理终极指南:从 panic! 到 Result 的优雅之道
后端·rust·github