るりまサーチ

最速Rubyリファレンスマニュアル検索!
44件ヒット [1-44件を表示] (0.038秒)
トップページ > クエリ:IO[x] > クエリ:Function[x] > クエリ:extern[x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

ライブラリ

モジュール

キーワード

検索結果

Fiddle::Importer#extern(signature, *opts) -> Fiddle::Function (18320.0)

Fiddle::Importer#dlload で取り込んだライブラリから C の関数をインポートします。

...トした関数を表す Fiddle::Function オブジェクトを返します。

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


require 'fiddle/import'

module M
extern
Fiddle::Importer
dlload "libc.so.6"
extern
"int strcmp(char*, char*)"
end...

Fiddle::Importer#[](name) -> Fiddle::Function|nil (233.0)

Fiddle::Importer#extern でインポートした関数の Fiddle::Function オブジェクト を返します。

...Fiddle::Importer#extern でインポートした関数の
Fiddle::Function オブジェクト
を返します。

name という名前の関数が存在しない場合は nil を返します。

@param name 関数の名前の文字列...

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

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

...す。

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

signature で関数の名前とシネグチャを指定します。例えば
"int...
...す Fiddle::Function オブジェクトを返します。

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


require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern
"int qsort(void...

fiddle (54.0)

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

...end

以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使ってライブラリをロードし、
使用したいライブラリ関数に対して extern メソッドを呼んで
ラッパーメソッド...
...ptr1[0] <=> ptr2[0]
}
type
extern
'void qsort(void *, int, int, void *)'
end

buff = "3465721"
M.qsort(buff, buff.size, 1, M::QsortCallback)
p buff #=> "1234567"

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


==== ポ...
...
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO
オブジェクトであれば FILE* が渡されます。
整数であればそれがアドレスとみなされます。
to_ptr を持って...