01 / NOTE
unit_rc 系列(一):用 C++ 把 N×N 跨语言桥接降为 N×1
从一次完整调用出发,介绍 unit_rc 的整体架构:.ur 接口定义、urgen 代码生成、C++ 运行时和 Java、Objective-C、Dart、ArkTS 平台桥接如何协作。
从一次完整调用出发,介绍 unit_rc 的整体架构:.ur 接口定义、urgen 代码生成、C++ 运行时和 Java、Objective-C、Dart、ArkTS 平台桥接如何协作。
从源码拆解 urgen 的完整流水线:入口扫描、Lark 语法解析、两阶段语义模型、call/impl 配置、Jinja2 后端、增量缓存和版本锁定。
深入 BaseRC、rcId、原对象与 proxy、addRC/removeRC 和 WeakPtr,解释 GC、ARC 与 shared_ptr 之间如何建立可工作的跨语言引用协议。
对照四个平台的 BaseRC 适配:宿主对象如何变成 C++ proxy,强弱引用如何落到 GlobalRef、ARC、PersistentHandle 和 napi_ref,以及运行时隔离带来的差异。
结合 UnitRCDartRuntime 与 BaseMessageQueue 源码,分析 Isolate 注册、thread_local 缓存、函数表隔离、sendId 确认、积压重试、超时回流和退出清理。
从 ByteBuffer 四端实现、Protobuf 编解码、实验性共享数据结构、BaseProfile 和 UnitRCError 出发,讨论跨语言数据路径怎样兼顾性能、所有权和线上诊断。
没有找到匹配的文章。