タグ

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

タグの絞り込みを解除

FFIに関するmzpのブックマーク (4)

  • 第58回 Cの配列をHaskellで利用する

    Haskellでは、リストや配列といったデータ構造に対する処理を高速化するために様々な試みが行われています。しかし、残念ながら現在のHaskell処理系やライブラリの実装には性能面でまだまだ課題があります(参考リンク1、参考リンク2)。Cの配列をHaskellで直接利用するようにすれば、性能の向上を期待できます。 Cで書かれたOSやライブラリのAPIには、Cの配列(およびそうした配列を扱うCの関数)を引数に取るものもあります。HaskellのFFIを利用すれば、HaskellからCの配列を利用できます。今回は、その方法を紹介しましょう。 Cの配列を利用する方法 第22回で説明したように、HaskellのFFIではCのポインタをPtr型で表現します。Cではポインタを使って配列を参照するので、Ptr型を使えばHaskellでCの配列を利用できます。 ただし、ポインタを操作するStorableク

    第58回 Cの配列をHaskellで利用する
  • 第22回 FFIを使って他の言語の関数を呼び出す

    Haskellを使ってアプリケーションを作成しようとすると,ライブラリの機能不足に遭遇することがあります。不足しているこうした機能の中には,C言語で書かれたライブラリやOSのAPIなどの力を借りなければ記述できないものがあります。 このためHaskellでは,第7回で触れたように,実行環境の外にある他言語のライブラリを扱うためにFFIという機能を用意しています。FFIを使えば,Haskellにはない機能を実装できます。 今回はFFIの基的な使い方を説明します。 FFI使用の最初の一歩 最初に,FFIを使ったごく簡単な関数呼び出しを見てみましょう。以下のようなコードで,HaskellからCの関数を呼び出すことができます。 {-# LANGUAGE ForeignFunctionInterface #-} module SimpleFFIExample where foreign impor

    第22回 FFIを使って他の言語の関数を呼び出す
  • HaskellからCライブラリを呼ぶ(FFI) - yunomuのブログ

    Haskellのなんでもアリ具合。 ライブラリをビルドしてるとちょいちょい見えるFFIという文字列、気になって調べてみると、ForeignFunctionInterfaceというものがあって、これはHaskellからCの関数を呼び出すためのモジュールというか拡張らしい。 Haskellのものすごいライブラリの充実度の影にはこういうものがあったりするんですね。 ということでちょっと遊んでみました。 だいたいこの記事のトレスです。 物のプログラマはHaskellを使う - 第22回 FFIを使って他の言語の関数を呼び出す:ITpro 既存のライブラリを呼ぶ 上の記事に習って、libmのsinを呼び出してみます。 まず、何はなくともmanです。sin(3)のmanを見ると、 NAME sin, sinf, sinl - sine function SYNOPSIS #include doubl

    HaskellからCライブラリを呼ぶ(FFI) - yunomuのブログ
  • FFI blocks ruby thread and could not place FFI calls in any time out block

    mzp
    mzp 2012/08/12
  • 1