るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.156秒)
トップページ > クエリ:i[x] > クエリ:Time[x] > クエリ:fiddle/import[x]

別のキーワード

  1. time httpdate
  2. time iso8601
  3. time rfc2822
  4. time strptime
  5. time parse

ライブラリ

モジュール

検索結果

fiddle/import (44072.0)

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

...fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。

主な使い方は fiddle も参照してください。

=== 高度な使用法

====...
...double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0...
...場合は Fiddle.#dlwrap を使って
ポインタ(整数)へ変換してから関数に渡し、コールバックの方で元に戻します。

例えば libc の qsort を使って Ruby の Time の配列をソートするには以下のようにします。

require 'fiddle/import'
module M...

Fiddle::Importer#struct(signature) -> Class (11136.0)

C の構造体型に対応する Ruby のクラスを構築して返します。

...せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Time
val = struct(["long tv_sec", "long tv_usec"])
として構造...
...* initialize
* to_ptr
* to_i
* 構造体の各メンバへのアクセサ
返されるクラスは Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。


@param signature 構造体の各要素を文字列で表現したものの配列

require 'fid...
...dle/import'

module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeofday(void*, void*)"
Time
val = struct(["long tv_sec", "long tv_usec"])
end

time
= M::Timeval.malloc
M.gettimeofday(time, Fiddle::NULL)
p time.tv_sec
p time.tv_usec...