はじめに 最近では、新しいライブラリがRustで書かれるようになってきました。これに伴い、RubyやCrystalなどの好みの言語からRustの関数を呼び出したくなることが増えます。 Python言語に対しては、バインディングが最初から提供されることも多いのですが、それ以外の言語からRustの関数を呼び出したい場合、自身で作成する必要があります。 この記事は、Rustに全く触れたことがない人間が、数時間調査した内容をまとめたものです。 しかし、QiitaでMagnusをググっても記事がほとんどヒットしないことからわかるようにそれほど日本語の情報が多くない分野なので、調べ物の取っ掛かりとしては価値があると思います。 目標 Rustで作成したライブラリの構造体と関数をみて、RubyやCrystalからFFIで呼び出せるようになること Rustで共有ライブラリを作成する方法 Rustは共有ライブ