FFi 规范
Rust 可以通过C-ABI无缝与C语言打交道,也可以通过暴露 C-ABI 接口供其他语言调用。但是跨边界本质上是不安全的。
一般来说,FFi 是指在其他语言中调用 Rust 代码,Rust代码会按 C-ABI 来暴露接口。这类 Rust crate或模块,常以 -ffi
后缀结尾。
另一类是 Rust 去调用 C-ABI 接口,相关代码通常被封装到以 -sys
为后缀命名的 crate 或 模块中。
本小节内容,包含以上两种情况。
Rust 可以通过C-ABI无缝与C语言打交道,也可以通过暴露 C-ABI 接口供其他语言调用。但是跨边界本质上是不安全的。
一般来说,FFi 是指在其他语言中调用 Rust 代码,Rust代码会按 C-ABI 来暴露接口。这类 Rust crate或模块,常以 -ffi
后缀结尾。
另一类是 Rust 去调用 C-ABI 接口,相关代码通常被封装到以 -sys
为后缀命名的 crate 或 模块中。
本小节内容,包含以上两种情况。