88件ヒット
[1-88件を表示]
(0.066秒)
種類
- 特異メソッド (55)
- インスタンスメソッド (33)
クラス
-
Fiddle
:: Function (11) -
Fiddle
:: Handle (66)
モジュール
-
Fiddle
:: Importer (11)
キーワード
- [] (22)
-
import
_ symbol (11) - new (33)
検索結果
先頭5件
- Fiddle
:: Handle # sym(func) -> Integer - Fiddle
:: Handle . sym(func) -> Integer - Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer - Fiddle
:: Handle . new(lib , flags=Fiddle :: Handle :: RTLD _ LAZY|Fiddle :: Handle :: RTLD _ GLOBAL) -> Fiddle :: Handle - Fiddle
:: Handle . new(lib , flags=Fiddle :: Handle :: RTLD _ LAZY|Fiddle :: Handle :: RTLD _ GLOBAL) {|handle| . . . } -> Fiddle :: Handle
-
Fiddle
:: Handle # sym(func) -> Integer (21109.0) -
関数やグローバル変数 func へのポインタを取得し、整数として返します。
...@param func 得たいシンボルの名前を文字列で与えます。
@raise Fiddle::DLError シンボルが見つからなかった時に発生します。
require 'fiddle'
h = Fiddle::Handle.new('libc.so.6')
p h.sym('strlen') # 関数ポインタのアドレスを整数で表示... -
Fiddle
:: Handle . sym(func) -> Integer (21109.0) -
ライブラリのデフォルトの検索順序に従い、現在のライブラリ以降の シンボルを探します。
...ルトの検索順序に従い、現在のライブラリ以降の
シンボルを探します。
Fiddle::Handle::NEXT.sym(func) と同じです。詳しくは dlsym(3) の
RTLD_NEXT を見てください。
@raise Fiddle::DLError シンボルが見つからなかった時に発生します。... -
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (12201.0) -
取り込んだライブラリからシンボルをインポートします。
...取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列)... -
Fiddle
:: Handle . new(lib , flags=Fiddle :: Handle :: RTLD _ LAZY|Fiddle :: Handle :: RTLD _ GLOBAL) -> Fiddle :: Handle (6108.0) -
ライブラリ lib をオープンし、Handle オブジェクトとして返します。
...ライブラリ lib をオープンし、Handle オブジェクトとして返します。
ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。
Handle はブロックの終りで自動的にクローズされます。
flags で dlopen(3) の第2......きます。
Fiddle::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は manpage(dlopen(3)) を参照してください。
@param lib ライブラ......@param flags フラグ
@raise Fiddle::DLError ライブラリのオープンに失敗した場合に発生します
例:
require 'fiddle'
h = Fiddle::Handle.new('libc.so.6')
i = h.sym('strlen')
func = Fiddle::Function.new(i, [Fiddle::TYPE_VOIDP], Fiddle::TYPE_INT)
p func.call("uxyz")... -
Fiddle
:: Handle . new(lib , flags=Fiddle :: Handle :: RTLD _ LAZY|Fiddle :: Handle :: RTLD _ GLOBAL) {|handle| . . . } -> Fiddle :: Handle (6108.0) -
ライブラリ lib をオープンし、Handle オブジェクトとして返します。
...ライブラリ lib をオープンし、Handle オブジェクトとして返します。
ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。
Handle はブロックの終りで自動的にクローズされます。
flags で dlopen(3) の第2......きます。
Fiddle::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は manpage(dlopen(3)) を参照してください。
@param lib ライブラ......@param flags フラグ
@raise Fiddle::DLError ライブラリのオープンに失敗した場合に発生します
例:
require 'fiddle'
h = Fiddle::Handle.new('libc.so.6')
i = h.sym('strlen')
func = Fiddle::Function.new(i, [Fiddle::TYPE_VOIDP], Fiddle::TYPE_INT)
p func.call("uxyz")... -
Fiddle
:: Handle # [](func) -> Integer (6009.0) -
関数やグローバル変数 func へのポインタを取得し、整数として返します。
...@param func 得たいシンボルの名前を文字列で与えます。
@raise Fiddle::DLError シンボルが見つからなかった時に発生します。
require 'fiddle'
h = Fiddle::Handle.new('libc.so.6')
p h.sym('strlen') # 関数ポインタのアドレスを整数で表示... -
Fiddle
:: Handle . [](func) -> Integer (6009.0) -
ライブラリのデフォルトの検索順序に従い、現在のライブラリ以降の シンボルを探します。
...ルトの検索順序に従い、現在のライブラリ以降の
シンボルを探します。
Fiddle::Handle::NEXT.sym(func) と同じです。詳しくは dlsym(3) の
RTLD_NEXT を見てください。
@raise Fiddle::DLError シンボルが見つからなかった時に発生します。... -
Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function (3220.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
...ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。
ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関......* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fiddle::TYPE_CHAR
* Fiddle::TYPE_SHORT
* Fiddle::TYPE_INT
* Fiddle::TYPE_LONG
* Fiddle::TYPE_LONG_LONG
* Fiddle::TYPE_FLOAT
* Fiddle::TYPE_DOUBLE
* Fiddle::TYPE_INTPTR_T
* Fiddle::TYPE_UINTPTR_T
* Fiddle::TYPE_PTRDIFF_T
* Fiddle::T......E_SIZE_T
* Fiddle::TYPE_SSIZE_T
abi で呼出規約を指定します。
* Fiddle::Function::DEFAULT
* Fiddle::Function::STDCALL
のどちらかを指定します。
require 'fiddle'
h = Fiddle::Handle.new('libc.so.6')
func = Fiddle::Function.new(h.sym("strlen"), [Fiddle::TYPE_VOID...