C との相互運用性

Rust は、C の呼び出し規則によるオブジェクト ファイルのリンクを完全にサポートしています。同様に、Rust 関数をエクスポートして C から呼び出すことができます。

これは手動で行うこともできます。

unsafe extern "C" { safe fn abs(x: i32) -> i32; } fn main() { let x = -42; let abs_x = abs(x); println!("{x}, {abs_x}"); }

We already saw this in the Safe FFI Wrapper exercise.

これは、ターゲット プラットフォームを完全に理解していることを前提としています。本番環境での使用推奨されません。

次に、より良い選択肢を見ていきます。