るりまサーチ

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

別のキーワード

  1. _builtin to_i
  2. fiddle to_i
  3. matrix elements_to_i
  4. matrix i
  5. csv to_i

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Fiddle.#dlopen(lib) -> Fiddle::Handle (21207.0)

ダイナミックライブラリ lib をロードし、 Fiddle::Handle として返します。

...ダイナミックライブラリ lib をロードし、
Fiddle::Handle として返します。

Fiddle::Handle.new(lib) と等価です。

@param lib ロードしたいライブラリを文字列で与えます。

@raise Fiddle::DLError dlopen(3) に失敗した時に発生します。...

Fiddle::Handle#to_i -> Integer (6117.0)

自身が表すハンドル(dlopen(3) が返したもの)のアドレスを返します。

...自身が表すハンドル(dlopen(3) が返したもの)のアドレスを返します。...

Fiddle (6006.0)

fiddle の名前空間をなすモジュールです。

...fiddle の名前空間をなすモジュールです。

UNIX の dlopen(3) や Windows の LoadLibrary()
などのダイナミックリンカへの低レベルなインターフェースを提供するモジュールです。...

Fiddle::Handle.new(lib, flags=Fiddle::Handle::RTLD_LAZY|Fiddle::Handle::RTLD_GLOBAL) -> Fiddle::Handle (3124.0)

ライブラリ lib をオープンし、Handle オブジェクトとして返します。

...イブラリ lib をオープンし、Handle オブジェクトとして返します。

ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。
Handle はブロックの終りで自動的にクローズされます。

flags で dlopen(3) の第2引...
...きます。
Fiddle::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は manpage(dlopen(3)) を参照してください。

@param lib ライブラ...
...@param flags フラグ
@raise Fiddle::DLError ライブラリのオープンに失敗した場合に発生します

例:

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
i
= h.sym('strlen')
func = Fiddle::Function.new(i, [Fiddle::TYPE_VOIDP], Fiddle::TYPE_INT)
p func.call("uxyz")...

Fiddle::Handle.new(lib, flags=Fiddle::Handle::RTLD_LAZY|Fiddle::Handle::RTLD_GLOBAL) {|handle| ... } -> Fiddle::Handle (3124.0)

ライブラリ lib をオープンし、Handle オブジェクトとして返します。

...イブラリ lib をオープンし、Handle オブジェクトとして返します。

ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。
Handle はブロックの終りで自動的にクローズされます。

flags で dlopen(3) の第2引...
...きます。
Fiddle::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は manpage(dlopen(3)) を参照してください。

@param lib ライブラ...
...@param flags フラグ
@raise Fiddle::DLError ライブラリのオープンに失敗した場合に発生します

例:

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
i
= h.sym('strlen')
func = Fiddle::Function.new(i, [Fiddle::TYPE_VOIDP], Fiddle::TYPE_INT)
p func.call("uxyz")...

絞り込み条件を変える

Fiddle::Handle::RTLD_GLOBAL -> Integer (3122.0)

dlopen のフラグ RTLD_GLOBAL を表す定数です。

...dlopen のフラグ RTLD_GLOBAL を表す定数です。

DL::Handle.new の flags として用います。

詳しくは dlopen(3) を見てください。...

Fiddle::Handle::RTLD_LAZY -> Integer (3122.0)

dlopen のフラグ RTLD_LAZY を表す定数です。

...dlopen のフラグ RTLD_LAZY を表す定数です。

DL::Handle.new の flags として用います。

詳しくは dlopen(3) を見てください。...

Fiddle::Handle::RTLD_NOW -> Integer (3122.0)

dlopen のフラグ RTLD_NOW を表す定数です。

...dlopen のフラグ RTLD_NOW を表す定数です。

DL::Handle.new の flags として用います。

詳しくは dlopen(3) を見てください。...

Fiddle::Closure (3006.0)

コールバック関数を表すクラスです。

...スです。

FFI の closure の wrapper です。

利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メソッドを定義し、
new でオブジェクトを生成することで利用します。

require 'fiddle'
i
nclude Fiddle # TYPE_* を...
...使うために include する

class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(void*, void*) であるため、
# このメソッドには DL::CPtr オブジェクトが渡される。
# そのポインタが指す先は比較している文字なので、...
...end

libc = DL.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYPE_VOID)
s = "7x0cba(Uq)"
qs.call(s, s.size, 1, Compare.new(TYPE_INT, [TYPE_VOIDP, TYPE_VOIDP]))
p s...

Fiddle::Closure::BlockCaller (3006.0)

Ruby のブロックをラップしたコールバック関数を表すクラスです。

...require 'fiddle'
i
nclude Fiddle

libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYPE_VOID)
compare = Fiddle::Closure::BlockCaller.new(TYPE_INT, [TYPE_VOIDP,...
...TYPE_VOIDP]){|x, y|
# qsort の比較関数は 型が int(*)(void*, void*) であるため、
# このブロックには DL::CPtr オブジェクトが渡される。
# そのポインタが指す先は比較している文字なので、
# DL::CPtr#to_s で1文字の文字列に変...
...換している
x.to_s(1) <=> y.to_s(1)
}
s = "7x0cba(Uq)"
qs.call(s, s.size, 1, compare)
p s # => "()07Uabcqx"...

絞り込み条件を変える

<< 1 2 > >>