01 / NOTE
unit_rc 系列(一):用 C++ 把 N×N 跨语言桥接降为 N×1
从一次完整调用出发,介绍 unit_rc 的整体架构:.ur 接口定义、urgen 代码生成、C++ 运行时和 Java、Objective-C、Dart、ArkTS 平台桥接如何协作。
RUOYE / TOPIC
这个主题下的文章。
从一次完整调用出发,介绍 unit_rc 的整体架构:.ur 接口定义、urgen 代码生成、C++ 运行时和 Java、Objective-C、Dart、ArkTS 平台桥接如何协作。
深入 BaseRC、rcId、原对象与 proxy、addRC/removeRC 和 WeakPtr,解释 GC、ARC 与 shared_ptr 之间如何建立可工作的跨语言引用协议。
shared_ptr 能防止对象过早释放,却不能保证对象在哪条线程析构。本文从 worker 内释放最后一个强引用出发,分析 self-join、析构竞态和多线程锁环,并给出可落地的退出协议。
跨语言调用不只是生成几层胶水代码。本文从接口描述、类型系统、运行时派发、继承与多态、强弱引用到线程约束,完整拆解一套绑定框架的设计。
当 Flutter 从单引擎走向多引擎、多 Isolate 和线程合并,基于全局函数指针或 thread_local 的桥接方案会逐渐失效。本文给出注册表、对象生命周期、消息队列与销毁时序的完整设计。