【FFI】 内存管理——跨语言边界最难的问题
跨语言调用的核心矛盾只有三个:数据类型怎么传、函数怎么调、内存怎么管。前两个靠 ABI 和绑定工具解决,第三个是最难的——GC 语言和手动管理语言各有自己的内存世界观,边界上谁说了算? 两个世界,一个边界 Rust 说:每个值有且仅有一个 owner,owner 离开作用域就 drop。Python
跨语言调用的核心矛盾只有三个:数据类型怎么传、函数怎么调、内存怎么管。前两个靠 ABI 和绑定工具解决,第三个是最难的——GC 语言和手动管理语言各有自己的内存世界观,边界上谁说了算? 两个世界,一个边界 Rust 说:每个值有且仅有一个 owner,owner 离开作用域就 drop。Python