kind=defined
names=new
visibility=public

--- new(lib)                    -> DL::Handle
--- new(lib) {|handle| ... }    -> DL::Handle

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

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

@param lib ライブラリを文字列で指定します。

例:

 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

