るりまサーチ

最速Rubyリファレンスマニュアル検索!
48件ヒット [1-48件を表示] (0.012秒)

別のキーワード

  1. _builtin module_function
  2. module module_function
  3. function abi
  4. function name
  5. function to_i

ライブラリ

モジュール

キーワード

検索結果

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (18220.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

...す。

これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。

signature で関数の名前とシネグチャを指定します。例えば
"int...
...は :cdecl を渡すことができ、
呼出規約を明示することができます。

@return インポートした関数を表す Fiddle::Function オブジェクトを返します。

@param signature 関数の名前とシネグチャ
@param opts オプション


require 'fiddle/import...
...extend Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, size_t, size_t, void*)"

bind
("int compare(void*, void*)"){|px, py|
x = px.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpack("i!")...

Etc::SC_THREAD_SAFE_FUNCTIONS -> Integer (3101.0)

Etc.#sysconf の引数に指定します。

Etc.#sysconf の引数に指定します。

詳細は sysconf(3) を参照してください。

ruby 1.8.4 feature (36.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

...]>))
* ((<ruby 1.8.4 feature/シグナル [bug]>))
* ((<ruby 1.8.4 feature/組み込みライブラリ>))
* ((<ruby 1.8.4 feature/UnboundMethod#bind [bug]>))
* ((<ruby 1.8.4 feature/set_trace_func [bug]>))
* ((<ruby 1.8.4 feature/set_trace_func [change]>))
* ((<ruby 1.8.4 feature/printf [b...
...c 8 02:07:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
#
# * eval.c (umethod_bind): adjust invoking class for module method.
# [ruby-dev:27964]

: UnboundMethod#bind [bug]

UnboundMethod#bindされたモジュールのインスタンスメソッド中で
superを使えな...
...22:32:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (set_trace_func): add rb_secure(4) to prevent adding
# tracing function.

$SAFE=4でtrace_funcの追加を禁止。

: printf [bug]

#Wed Dec 7 15:31:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# *...

fiddle (18.0)

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

...= コールバック

以下のようにモジュール関数 bind を使用したコールバックを定義できます。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
QsortCallback = bind("void *qsort_callback2(void*,void*)"){|ptr1,ptr2|
ptr...
...= "3465721"
M.qsort(buff, buff.size, 1, M::QsortCallback)
p buff #=> "1234567"

ここで M::QsortCallback はブロックを呼ぶ Fiddle::Function オブジェクトです。


==== ポインタを扱う

fiddle においては、文字列/整数/Fiddle::Pointerをポインタとして
...