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.
これは、ターゲット プラットフォームを完全に理解していることを前提としています。本番環境での使用推奨されません。
次に、より良い選択肢を見ていきます。