【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错误信息的方式。

相关推荐
axban31 分钟前
QT M/V架构开发实战:QStandardItemModel介绍
开发语言·数据库·qt
油炸自行车2 小时前
【Qt】编写Qt自定义Ui控件步骤
开发语言·c++·qt·ui·自定义ui控件·qt4 自定义ui控件
酷飞飞2 小时前
PyQt 界面布局与交互组件使用指南
python·qt·交互·pyqt
穷人小水滴4 小时前
胖喵必快 (pmbs): btrfs 自动快照工具 (每分钟快照)
linux·rust
应用市场5 小时前
Qt C++ 图形绘制完全指南:从基础到进阶实战
开发语言·c++·qt
大可门耳7 小时前
Qt第一课:Qt是什么?相对于其他框架的优劣势是什么
开发语言·qt
axban10 小时前
QT M/V架构开发实战:QFileSystemModel介绍
开发语言·qt·架构
钢门狂鸭12 小时前
关于rust的crates.io
开发语言·后端·rust
编码浪子12 小时前
趣味学RUST基础篇(异步)
服务器·rust·负载均衡
another heaven15 小时前
【Qt VS2022调试时无法查看QString等Qt变量信息】解决方法
开发语言·qt