Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > DL::Handleクラス

class DL::Handle

クラスの継承リスト: DL::Handle < Object < Kernel

要約

オープンされたダイナミックライブラリを表すクラスです。 dlopen(3) が返すハンドラーのラッパーです。

目次

特異メソッド
new
インスタンスメソッド
[] sym close disable_close enable_close to_i to_ptr

特異メソッド

new(lib) -> DL::Handle[permalink][rdoc]
new(lib) {|handle| ... } -> DL::Handle

[TODO]

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

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

インスタンスメソッド

sym(func) -> DL::PtrData[permalink][rdoc]
self[func] -> DL::PtrData

[TODO]

関数やグローバル変数 func へのポインタを取得し、 DL::PtrData オブジェクトとして返します。

[PARAM] func:
得たいシンボルの名前を文字列で与えます。
[EXCEPTION] RuntimeError:
シンボルが見つからなかった時に発生します。
sym(func, type) -> DL::Symbol[permalink][rdoc]
self[func, type] -> DL::Symbol

[TODO]

関数 func へのポインタを取得し、 DL::Symbol オブジェクトとして返します。 type は型修飾子からなる文字列で関数のプロトタイプを示します。

[PARAM] func:
得たい関数の名前を文字列で与えます。
[PARAM] type:
関数のプロトタイプを文字列で指定します。
[EXCEPTION] RuntimeError:
シンボルが見つからなかった時に発生します。

DL の「Type Specifiers」の項も参照して下さい。

close -> Integer[permalink][rdoc]

自身をクローズします。成功した場合は 0 を返します。そうでない場合は、 0 以外の整数を返します。

enable_close -> nil[permalink][rdoc]
disable_close -> nil

GC によるオブジェクトの回収時に、自身をクローズするかどうかを指定します。

to_i -> Integer[permalink][rdoc]

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

to_ptr -> DL::PtrData[permalink][rdoc]

自身が表すハンドル(dlopen(3) が返したもの)へのポインタ DL::PtrData を返します。この返り値には、free 関数がセットされていません。