LINEUP & SCHEDULE

他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

  • 14:35 - 15:00 (JST)

    • 発表言語: 日本語

普段の開発は別の言語、私の場合はC#ですが、幾つかの理由でネイティブコードを書かなければならないシチュエーションがあります。例えば

  • Android NDK や Unity Native Plugin Interface など、ネイティブAPIしか提供されていないものを使いたい場合
  • CやC++, Rust で作られているネイティブライブラリを利用したい場合

こうしたFFIにおいて、従来はC++の出番でしたが、複雑さとクロスプラットフォームビルド周りに多くの困難を抱えていました。これらはRustの優れたエコシステムとビルド環境により劇的に改善することができます。 Rustの力を確信した今、RustとC#の活用を加速させるためにcsbindgenというRust <-> C#のFFIを自動化するライブラリを開発し、OSSとして今年の3月に公開しました。

このセッションでは、FFIにおけるRustの使い所や実装上のテクニックや、cc, cmake, bindgenの活用法を、 実際にcsbindgenを使ってC#用のOSSとして公開しているライブラリ郡

  • PhysX物理エンジン(Cysharp/MagicPhysX)
  • 圧縮ライブラリ
  • UnityのためのgRPCクライアント

の事例を元にして説明します。

シェアしましょう!


プロフィール

Yoshifumi Kawai

Yoshifumi Kawai

C#愛好家。サーバーとクライアントを共にC#で実装するフレームワークの開発とアーキテクチャを推進している。長年のC#愛好家が高じてCygamesと共にC#専門の開発会社「Cysharp」を設立。OSS開発にも関心が深く、GitHub上に50以上の公開、そのうち複数のライブラリが世界的にも強く支持され、多数のゲームタイトルに採用されている。C#の手の届かない範囲をうまく補完するための言語としてRustに注目中。2011年よりMicrosoft MVP for Developer Technologies(C#)。CEDEC AWARDS 2022 エンジニアリング部門優秀賞。「.NETのクラスライブラリ設計 改訂新版」監訳。


Copyright © Rust.Tokyo 2023 all rights reserved.


特定商取引法に基づく表示

ぜひフォローしてください! @rustlang_tokyo

お問い合わせ: rust-tokyo-staff@googlegroups.com

過去の開催