與 C 的互通性

Rust 能完整支援以 C 語言的呼叫慣例來連結物件檔案。同樣地,您可以匯出 Rust 函式,然後透過 C 語言呼叫這些函式。

您可以視需要手動完成操作:

extern "C" {
    fn abs(x: i32) -> i32;
}

fn main() {
    let x = -42;
    let abs_x = unsafe { abs(x) };
    println!("{x}, {abs_x}");
}

我們已在「安全的 FFI 包裝函式」練習中看過此例。

執行這項操作的前提是要充分瞭解目標平台。此法不建議用於正式環境。

我們接下來會討論更好的選項。