instance method DL::Handle#[]
sym(func) -> Integer
self[func] -> Integer
-
関数やグローバル変数 func へのポインタを取得し、整数として返します。
- [PARAM] func:
- 得たいシンボルの名前を文字列で与えます。
- [EXCEPTION] RuntimeError:
- シンボルが見つからなかった時に発生します。
例:
require 'dl' h = DL::Handle.new('libc.so.6') i = h.sym('strlen') p i #=> 3085201584 cfunc = DL::CFunc.new(i, DL::TYPE_INT, 'strlen') p cfunc.call(['abcde'].pack('p*').unpack('l!*')) #=> 5
class DL::Handle