言語間相互運用

理想的なシナリオ:

RustC++

このコースのこのセクションでは、外部関数インターフェース (FFI) を介した Rust と外部言語との相互作用について扱い、特に C++ との相互運用性に重点を置きます。

理想的には、Rust と外部言語(この場合は C++)の利用者は 互いのメソッドを直接呼び出せるはずです。

この理想的なシナリオを実現するのは非常に困難です:

言語ごとにセマンティクスが異なるため、それらを対応付けるには トレードオフが伴います。Rust も C++ も ABI の安定性1を提供していないため、 安定した基盤の上に構築することが困難です


  1. 一部の C++ コンパイラベンダーは、自社の ツールチェーン内で ABI の安定性をサポートしています。