タグ

ブックマーク / qiita.com/wada314 (1)

  • RustでつくるDLLの話 - Qiita

    こんにちは。 私はメインで使ってるOSがWindowsなので、共有ライブラリといえばDLL派です。 だいたいsoってなんだよドレミファの次にあるやつかよ。 なのでこの記事では共有ライブラリのことをDLLって呼びますがご了承ください。 Rustの得意分野の一つが、FFI (Foreign Function Interface) と呼ばれる他言語との連携ですね。 他の言語で書かれたライブラリをRustから呼び出したりするのはもちろんですが、Rustで書かれたライブラリを他の言語から呼び出してもらうことももちろんできます。 その際には、こういった言語間連携の事実上の標準である、C言語の呼び出し規約に準拠した関数を仕込んだDLLファイルを作成して、それを介して呼んだり呼ばれたりするのが標準なわけですね。 この記事では、Rustの関数を他言語から呼び出してもらうためのDLLの作り方やちょっとした小ネ

    RustでつくるDLLの話 - Qiita
    castaneai
    castaneai 2021/02/22
    “関数を書くときに、#[no_mangle]とpubとextern "C"をこの順にfnの前に書きます。”
  • 1