るりまサーチ

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

別のキーワード

  1. fiddle new
  2. fiddle []
  3. fiddle to_i
  4. fiddle free
  5. fiddle malloc

ライブラリ

モジュール

キーワード

検索結果

Fiddle::Importer#extern(signature, *opts) -> Fiddle::Function (18220.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*)"...

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

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

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

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

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

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

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

...します。

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

signature で関数の名前とシネグチャを指定します。例え...
...を表す 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 qsor...

fiddle (48.0)

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

...end

以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使ってライブラリをロードし、
使用したいライブラリ関数に対して extern メソッドを呼んで
ラッパーメソッド...
...を定義します。

require "fiddle/import"
module M
extend Fiddle::Importer
dlload "libc.so.6","libm.so.6"
extern
"int strlen(char*)"
end
# Note that we should not include the module M from some reason.

p M.strlen('abc') #=> 3

M.strlen を使用することで、ライ...
...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 オブジェクトです。


==== ポ...