文件名称:CXX:Rust与C ++之间的安全互操作-开源
文件大小:377KB
文件格式:ZIP
更新时间:2024-05-14 20:47:30
开源软件
CXX是一个库,可在Rust和C ++之间提供安全的互操作。 它提供了一种从Rust调用C ++代码的安全机制,反之亦然,当使用bindgen或cbindgen生成不安全的C样式绑定时,可以保护这种机制免受许多可能出错的情况的影响。 CXX的总体思想是定义一起嵌入到一个Rust模块中的FFI边界两侧的签名。 CXX从边界的边界上获得了一张完整的图片,并通过它可以对类型和函数签名进行静态分析,从而确保Rust和C ++的不变式和要求都得到支持。 然后,CXX通过一对代码生成器在两侧发出相关的外部“ C”签名。 这与稍后在构建过程中验证正确性所需的任何必要的静态断言一起完成。 结果是FFI桥接器以零或可忽略的开销运行,而无需复制,序列化或内存分配。