Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Autocxx -RustからC++を安全かつ楽に-

minami
September 02, 2020

Autocxx -RustからC++を安全かつ楽に-

下町.rs #3

minami

September 02, 2020
Tweet

More Decks by minami

Other Decks in Programming

Transcript

  1. 自己紹介 • 岡南 直哉 (@vinami) • LayerX Labs リサーチャー ◦

    ブロックチェーンのスケーラビリティ、 特にシャーディング • 未踏2020で『Shargri-La』開発中 ◦ シャーディングプロトコル開発を支援 するソフトウェア ◦ Rustです 2
  2. 三段階の Procedural macro 仕組み 9 1. bindgen でバインディングを生成 2. それを解釈し

    cxx::bridge に適したバインディングへ変換 3. cxx::bridge を実行
  3. 対応済み 開発状況 13 • Primitives (u8, etc.) • Plain-old-data structs

    • std::unique_ptr of POD • std::unique_ptr of std::string • Reference to POD • Reference to std::string
  4. 未対応 開発状況 14 • std::unique_ptr of opaque types • Methods

    • #defines • Constants • Enums • Structs containing UniquePtr • Structs containing strings • make_unique