2010-11-21 9 views

答えて

3

CヘッダファイルをCで書かれているので、しかし、Rubyのインタプリタはルビーを解釈します。また、ヘッダファイルは実行時に利用できない場合もあります。

には、があります。これは、ヘッダーから自動的にattach_functionコールを生成することについて話しました。しかし、私が上で暗示したように、これは基本的に、完全なCコンパイラ(正確には、前半部分全体)を実装する必要があることを意味します。現時点では、Rubyの実装者は、独自のCコンパイラを書くよりも最初にFFIを使用する必要性を緩和するために、RubyをCと同じくらい速く動かすことに重点を置いています(これは簡単な作業ですセマンティクス解析、タイピングパーツであり、実際のコード生成や最適化ではありません)。

+0

これは意味があります。ありがとう! –

2

Jörgによると、ヘッダースキャナを実装するということは、すべてを正しく行うために、かなりのCコンパイラを実装することを意味します。

あなたが痛みを緩和しようと思うかもしれない1つの事はFFI Swig Generatorです。 swigを使用してFFIインタフェースを生成します。それでも、単純なインターフェースのためのswig入力ファイルを生成するために、カットアンドペーストジョブに沸かせることができる少しの作業が必要であることを意味します。

関連する問題