技术编程|内存安全亟待解决!Chrome 团队正探索 Rust 与 C++ 的互操作性


Chrome 团队也开始尝试 Rust 了 。 在 Chromium 官网近期发布的文档中 , “Rust 与 C++ 的互操作性”作为一项尚待解决的挑战被提出 。
现阶段 , Chrome 工程师很清楚 C++ 是第一位的 , 并且“在可以预见的将来仍然是代码库的统治者” 。 他们认为 ,若使用 Rust , 需要令其与 C++ 相适应 , 而不是让 C++ 反过来配合 Rust 。
当前 Chrome 团队所探索的 , 正是 Rust 能否 , 以及如何调用 C++ 代码 。
【技术编程|内存安全亟待解决!Chrome 团队正探索 Rust 与 C++ 的互操作性】

技术编程|内存安全亟待解决!Chrome 团队正探索 Rust 与 C++ 的互操作性
本文插图
从目前的研究成果来看 , Chrome 团队已摸索出了几条调用 C++ 函数的重要方式 , 包括尽量避免使用“unsafe”字眼、使用 cxx一类的库扩大支持、实例化 C++对象并安全地传递所有权等等 。 不过 , 待解决的问题和难点也还有很多 。
今年五月份的时候 , 谷歌工程师曾对 Chrome 历年来的安全漏洞进行分析 , 发现 70% 都是内存安全问题 。 因此谷歌计划尝试对一些“安全”语言展开探索 , Rust 就位列其中 。
Chrome 团队对 Rust 仍处于调查和摸索阶段 。 他们表示 , 如果这种互操作性是可能的 , 将考虑 Rust 在 Chrome 中的广泛使用 , 并将“通过强大的生产质量解决方案来实现这一目标” 。