Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > DL::Symbolクラス
クラスの継承リスト: DL::Symbol < Object < Kernel
ダイナミックライブラリの関数を表すクラスです。
char2type(char) -> String | nil
[permalink][rdoc][TODO]
型に相当する文字 char を取り、C 言語の型修飾を返します。 char が型指定子でない場合は、nil を返します。
new(addr, type = nil, name = nil) -> DL::Symbol
[permalink][rdoc][TODO]
ダイナミックライブラリの関数のアドレス addr から DL::Symbol を生成して返します。
call(*args) -> object
[permalink][rdoc]self[*args] -> object
[TODO]
自身が表しているライブラリ関数を呼び出します。関数の 戻り値 result と、 call に渡された引数の配列 args = [arg1, arg2, ... argN] からなる配列 [result, args] を返します。
require 'dl' h = DL.dlopen('./libtest.so') s = h.sym('slen', 'IS') result, args = s.call('abc') p result #=> 3 p args #=> ["abc"]
/* libtest.so */ int slen(const char* s){ return strlen(s); }
cproto -> String
[permalink][rdoc]to_s -> String
C 言語形式のプロトタイプを文字列で返します。
require 'dl' h = DL.dlopen('./libtest.so') s = h.sym('slen', 'IS') p s.cproto #=> "int slen(const char *);"
inspect -> String
[permalink][rdoc]人間が読みやすい形式の文字列を返します。
name -> String
[permalink][rdoc]関数名を文字列で返します。
require 'dl' h = DL.dlopen('./libtest.so') s = h.sym('slen', 'IS') p s.name #=> "slen"
proto -> String
[permalink][rdoc]関数のプロトタイプを DL モジュールの型指定文字列で返します。
require 'dl' h = DL.dlopen('./libtest.so') s = h.sym('slen', 'IS') p s.proto #=> "IS"
to_i -> Integer
[permalink][rdoc]ダイナミックライブラリの関数のアドレスを返します。
to_ptr -> DL::PtrData
[permalink][rdoc]ダイナミックライブラリの関数へのポインタ DL::PtrData を返します。