るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.007秒)
トップページ > クエリ:Void[x] > 種類:ライブラリ[x]

別のキーワード

  1. fiddle type_void
  2. void new
  3. void each
  4. shell/builtin-command void
  5. type_void fiddle

キーワード

検索結果

fiddle (85.0)

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

...は以下のとおりです。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern('int gettimeofday(void *, void *)')
Timeval = struct( ["long tv_sec",
"long tv_usec"])
end

timeval = M::Timeval.malloc
e = M.gettimeofday(timeva...
...e M
extend Fiddle::Importer
dlload "libc.so.6"
QsortCallback = bind("void *qsort_callback2(void*,void*)"){|ptr1,ptr2|
ptr1[0] <=> ptr2[0]
}
type
extern 'void qsort(void *, int, int, void *)'
end

buff = "3465721"
M.qsort(buff, buff.size, 1, M::QsortCallback)
p...
...インタとして扱われます。

require 'fiddle/import'

module M
extend Fiddle::Importer
dlload 'libc.so.6'
extern 'void * memmove(void *, void *, unsigned long)'
end

s = 'xxxyyyzzz'
M.memmove(s, 'abc', 3)
p s #=> "abcyyyzzz"

char * 以外の型のポイ...

fiddle/import (49.0)

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

...ピーする関数
void
first_char(char **s, char *buf, int len)
があったとします。これを呼び出すにも以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **,...
...porter
dlload "libc.so.6"
QsortCallback = bind("void *qsort_callback(void*, void*)"){|a, b|
a0 = Fiddle.dlunwrap(a.ptr.to_i)
b0 = Fiddle.dlunwrap(b.ptr.to_i)
a0 <=> b0
}
extern 'void qsort(void *, int, int, void *)'
end

buff = [Time.at(1), Time.now, Time.at(10...
...0), Time.at(10)]
a = buff.map{|t| Fiddle.dlwrap(t)}.pack('l!*')
M.qsort(a, buff.size, Fiddle::SIZEOF_VOIDP, M::QsortCallback)
p a.unpack('l!*').map{|t| Fiddle.dlunwrap(t).to_i } #=> [1, 10, 100, 1241603848]

==== 複雑な構造体を定義したい

構造体をメンバとして...

rdoc/parser/c (7.0)

C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析するためのサブライブラリです。

...rb_ary_flatten(ary)
VALUE ary;
{
ary = rb_obj_dup(ary);
rb_ary_flatten_bang(ary);
return ary;
}

...

void

Init_Array()
{
...
rb_define_method(rb_cArray, "flatten", rb_ary_flatten, 0);

上記の例の場合、rb_ary_flatten 関数と...