るりまサーチ

最速Rubyリファレンスマニュアル検索!
456件ヒット [1-100件を表示] (0.017秒)

別のキーワード

  1. pointer []
  2. pointer []=
  3. pointer to_str
  4. pointer to_s
  5. pointer free

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

fiddle (38162.0)

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

...使い方

通常は fiddle/import ライブラリを require して
Fiddle
::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle
モジュール自体はプリミティブな機能しか提供していません。
Fiddle
::Importer モジュ...
...ールは以下のようにユーザが定義した
モジュールを拡張する形で使います。

require "fiddle/import"
module M
extend Fiddle::Importer
end

以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下...
...lback)
p buff #=> "1234567"

ここで M::QsortCallback はブロックを呼ぶ Fiddle::Function オブジェクトです。


==== ポインタを扱う

fiddle
においては、文字列/整数/Fiddle::Pointerをポインタとして
扱うことができます。
文字列をポインタ引...
...りに使います。

=== 使い方

通常は fiddle/import ライブラリを require して
Fiddle
::Importer モジュールを使用します。
Fiddle
モジュール自体はプリミティブな機能しか提供していません。
Fiddle
::Importer モジュールは以下のようにユ...
...ーザが定義した
モジュールを拡張する形で使います。

require "fiddle/import"
module M
extend Fiddle::Importer
end

以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使っ...

Fiddle::Pointer (17000.0)

メモリ領域を表すクラスです。C 言語のポインタに相当します。

メモリ領域を表すクラスです。C 言語のポインタに相当します。

2.2.0 で削除された dl の DL::CPtr に対応します。
DL::CPtrとほぼ同じインターフェースを持ちます。

Fiddle::Pointer.[](val) -> Fiddle::Pointer (14280.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

...val と関連した Pointer オブジェクトを生成して返します。

val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer
オブジェクトを返します。

IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクト...
...l.to_ptr を呼び、
Pointer
オブジェクトに変換したものを返します。

val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。

上以外の場合は、整数に変換(to_int)し
それをアドレスとする Pointer オブジェクト...
...指定します。

@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します

例:

require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i #=...

Fiddle::Pointer.to_ptr(val) -> Fiddle::Pointer (14280.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

...val と関連した Pointer オブジェクトを生成して返します。

val が文字列の場合は文字列が格納されているメモリ領域を指す Pointer
オブジェクトを返します。

IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクト...
...l.to_ptr を呼び、
Pointer
オブジェクトに変換したものを返します。

val が整数の場合はそれをアドレスとする Pointer オブジェクトを返します。

上以外の場合は、整数に変換(to_int)し
それをアドレスとする Pointer オブジェクト...
...指定します。

@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します

例:

require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i #=...

Fiddle::Pointer#+@ -> Fiddle::Pointer (14238.0)

自身の指す値を Pointer にして返します。

...自身の指す値を Pointer にして返します。

自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされま...
...す。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s #=> "abc"...

絞り込み条件を変える

Fiddle::Pointer#-@ -> Fiddle::Pointer (14238.0)

自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

...指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされます。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
c...

Fiddle::Pointer#ptr -> Fiddle::Pointer (14238.0)

自身の指す値を Pointer にして返します。

...自身の指す値を Pointer にして返します。

自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされま...
...す。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s #=> "abc"...

Fiddle::Pointer#ref -> Fiddle::Pointer (14238.0)

自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

...指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされます。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
c...

Fiddle::Pointer#+(n) -> Fiddle::Pointer (14236.0)

自身のアドレスに n バイトを足した新しい Pointer オブジェクトを返します。

...を足した新しい Pointer オブジェクトを返します。

この返り値には、free 関数がセットされず、size は 0 とされます。

@param n アドレスの増分を整数で指定します。

例:
require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[0,1]...
<< 1 2 3 ... > >>