48件ヒット
[1-48件を表示]
(0.104秒)
種類
- モジュール関数 (24)
- インスタンスメソッド (12)
- ライブラリ (12)
ライブラリ
- fiddle (36)
クラス
-
Fiddle
:: Pointer (12)
モジュール
- Fiddle (24)
キーワード
- dlunwrap (12)
-
fiddle
/ import (12) -
to
_ value (12)
検索結果
先頭4件
-
Fiddle
. # dlwrap(obj) -> Integer (18207.0) -
指定されたオブジェクト obj のアドレスを表す整数を返します。
...指定されたオブジェクト obj のアドレスを表す整数を返します。
@param obj Ruby のオブジェクトを指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc"... -
Fiddle
:: Pointer # to _ value -> object (6106.0) -
自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、 自身が指すオブジェクトを返します。
...自身はヒープに確保された Ruby のオブジェクトを指すポインタであると仮定して、
自身が指すオブジェクトを返します。
例:
require 'fiddle'
s = 'abc'
i = Fiddle.dlwrap(s)
cptr = Fiddle::Pointer.new(i)
p cptr.to_value #=> "abc"... -
fiddle
/ import (6036.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
...iddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
が......le/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0, 4.0].pack('d*'), 3) #=> 9.0
また与えられた文字列の配列 s (長さlen)の各要素の最初の文字を buf にコピーする関数
void first_char(c......st_char(char **, char *, int)'
end
buf = '111'
M.first_char(['Abc', 'Def', 'Ghi'].pack('p*'), buf, 3)
p buf #=> 'ADG'
==== Ruby のオブジェクトをコールバックに渡したい
任意のクラスの Ruby オブジェクトをコールバックへ渡したい場合は Fiddle.#dlwrap... -
Fiddle
. # dlunwrap(addr) -> object (112.0) -
指定されたアドレスの Ruby オブジェクトを返します。
...されたアドレスの Ruby オブジェクトを返します。
@param addr Fiddle.#dlwrap が返した Ruby オブジェクトのアドレス(整数)を指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc"...