Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > DL::Handleクラス > new
new(lib) -> DL::Handlenew(lib) {|handle| ... } -> DL::Handleライブラリ lib をオープンし、Handle オブジェクトとして返します。
ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。 Handle はブロックの終りで自動的にクローズされます。
例:
require 'dl'
h = DL::Handle.new('libc.so.6')
i = h.sym('strlen') #=> 3085201584
cfunc = DL::CFunc.new(i, DL::TYPE_INT, 'strlen')
p cfunc.call(['abcde'].pack('p*').unpack('l!*')) #=> 5