Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Tizen の未来と可能性
Next
Download to read offline and view in fullscreen.

1

Share

Download to read offline

Rust samurai lightning talk

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Rust samurai lightning talk

  1. 1. Rust SamuraiLightning TalkWhy Interested in RustNaruto TAKAHASHI(tnaruto@gmail.com)
  2. 2. 2Who’s Guy?Naruto TAKAHASHI(@TNaruto)• Mail: tnaruto@gmail.com• Blog: http://eflmemo.hatenablog.com/• Company: Turbo Systems Co, Ltd.Interesting Keyboards• EFL(Enlightenment Foundation Libraries)• Tizen• WebKit
  3. 3. 3思うところ• アプリ層はそろそろ C/C++ 以外で記述したい。• メモリ管理したくないし、速度も欲しい。(せめてバイナリで)• LL じゃ速度が足りない• C/C++ で書かれたライブラリを使いたい。• Ffi がある言語が良い。• つまり Rust が良い。
  4. 4. 4Rust に注目するところ• ffi が標準搭載• Rust Foreign Function Interface Tutorial• http://static.rust-lang.org/doc/tutorial-ffi.html• Syntax が C に近い。• 予約語が C に似てる• Ffi も書きやすい。1 Python, ruby の ffi のコード見たけど・・・(-_-;
  5. 5. 5なぜ Go ではない?• Rust は標準で ffi が搭載している。• Go は別モジュール扱いのはず。• 言語設計のうちから ffi を検討している Rust の方が扱いやすい?
  6. 6. 6FFI でやりたいこと• EFL の Rust バインディング• 水色のダイヤログをバインディングしたい
  7. 7. 7Eet バインディングを試したよ。• EET• シリアライズライブラリ。• 構造体をファイルに落とせたりも出来るよ。• 戻すのも出来るよ。• Enlightenment の設定ファイルは全部 eet 使われてるよ。
  8. 8. 8Eet バインディング 3,4時間ぐらい悩んでみました。
  9. 9. 9
  10. 10. 10バインディング結果• 動かせませんでした。• Rust 難しくね?
  11. 11. 11何が難しかった?• ハンドラ(構造体の実態を見せないための手法)のポインタを Rust側でどう持って良いのかわからない。• ライブラリで内部宣言している構造体とかを Rust 側で宣言する必要があるの?• ライブラリの Enum 宣言• Rust 側でも同じ値で宣言しないといけないの?• Rust の知識をそんなに持ってなかった。• Rust のヒープメモリの扱いとか把握できないと触れないかも。
  12. 12. 12Rust の FFI のチュートリアルが update したので見てみます。• Snappy という圧縮ライブラリの ffi の作成方法に変わってる!• 参考になることがあるかも!
  • moguriso

    Jun. 22, 2013

Views

Total views

11,066

On Slideshare

0

From embeds

0

Number of embeds

8,785

Actions

Downloads

4

Shares

0

Comments

0

Likes

1

×