タグ

関連タグで絞り込む (3)

タグの絞り込みを解除

Rustとcに関するWatsonのブックマーク (2)

  • Rust と C言語 をコールバックで行き来する(Cブリッジが必要なVer)

    { topic = [".NET", "PowerShell", "Ubuntu", "LibreOffice", "Arduino", ...] } Rustは C FFI が強いので、はっきりしたstructとCの関数を呼び出すなんていうケースでは、それっぽいstructとexternでの関数の定義を書けば呼び出せる。コールバックもできる。 →他言語関数インターフェイス しかし、以下のようなケースではちょっとやりにくい。 必要な関数の呼び出しにCマクロが必要 opaqueなstructの下のほうのメンバにアクセスが必要 要はC言語を解釈してもらえると楽だよねという話なので、「Cでラッパー書いてautotoolsだMakefileだなんだかんだ、ようやくつなげる」となるかと思いきや、このようなCラッパーが必要な状況についてもRustには補助がある。今回はそのやりかたについて紹介する。 自

    Watson
    Watson 2016/06/20
  • PHPエクステンションをRustで作る | POSTD

    アップデート :この記事の第一稿を投稿してから数時間後、PHPのベンチマークが機能していないことに気付きました。ですから万全を期すため、PHPRustの双方のバージョンを更新しました。変更箇所は、GitHub(最後にリンクあり)にまとめて載せてあります。 昨年10月、私は Etsy の とある同僚 と、どうやったらPHPRubyPythonといったインタプリタ型言語で今よりずっと簡単にエクステンションが書けるかについて議論しました。うまく書けない原因の1つとして、エクステンションは概してCで書かれますが、Cに長けているのでなければ自信を持ってコードを書くのは難しい、といったことなどを話しました。 あれ以来、私はずっとRustでエクステンションを書く方法を模索し、ここ数日は実際にあれこれ試してみました。そして今朝、ついにうまくいったのです。 Cに埋め込んだRustPHPで実行 私の基

    PHPエクステンションをRustで作る | POSTD
    Watson
    Watson 2015/05/08
    Rustのコードって簡単にCから呼び出せるんだね
  • 1