Rust Tokyo 2021に参加したときに下のセッションでRustのFFIについて説明されていた
そもそもFFIがなんなのかわからなかったので調べた
Foreign Function Interface
Wikipediaによると
Foreign function interface(フォーリン・ファンクション・インターフェイス、FFI)とは、あるプログラミング言語から他のプログラミング言語で定義された関数などを利用するための機構。主に高水準言語からC/C++などの関数やメソッドを呼び出し、OS固有の機能などを利用するために使用されることが多い。 FFIという用語はCommon Lispにおける仕様に由来し、Haskellでも同様にFFIという用語が使われている。Adaなどでは言語間バインディング(または単にバインディング, language binding)と呼ばれている。 FFIという用語自体に「関数(Function)」という言葉が含まれているが、多くのFFIでは単に他言語で書かれた関数が呼び出せるだけではなく、オブジェクトのメソッドを呼び出したり、その返り値を取得し、データ型やクラスを言語間で相互変換することができる。
https://ja.wikipedia.org/wiki/Foreign_function_interface
他のプログラミング言語で定義された関数などを利用するための機構であることがわかった
RustのFFI
RustのFFIはC言語には対応しているがC#には対応していないもよう
CもRustも知識が乏しいので今回は用語だけ知っておくに留めておく