こんにちは、クボタです。 99/10/07 13:13, matz / netlab.co.jp (Yukihiro Matsumoto) wrote: > In message "[ruby-list:17486] Re: C のデータを Ruby から参照したい" > on 99/10/07, kkubota / 18software.co.jp <kkubota / 18software.co.jp> writ > es: > | > |今回の質問は、Cで自作のSCSIドライバから受けたデータ(char 型の配列) > |を ruby に渡す方法を検討していて、このような方法を思い付き、テストプログ > |ラムを作成してみました。(テストプログラムはVALUE型配列でしたけど) > |しかし、この方法では各要素をINT2FIX()で変換する必要があるので、処理 > |的に重いような気がします。(char の配列は16kbyteです) > > INT2FIX()はかなり軽い操作です。特に定数に対するものはコンパ > イル時に処理されるでしょう。 > > |char 型の配列を ruby に渡す場合、どのような方法があるんでしょうか。 > |ご指導お願いします。 > > rb_str_new()またはrb_str_new2()で文字列にしちゃうのが一番簡 > 単では? ここで扱っている char 型配列のバッファにはバイナリデータが入って来ますので 文字列に変換できないコードがあります。 なのでrb_str_new() は使えないみたいです。 INT2FIX() が軽い操作という事なので、16kbyteのデータを1byteずつ変換して みようと思います。 ご指導ありがとうございました。