るりまサーチ

最速Rubyリファレンスマニュアル検索!
273件ヒット [201-273件を表示] (0.047秒)
トップページ > クエリ:g[x] > クエリ:pointer[x]

別のキーワード

  1. openssl g
  2. openssl g=
  3. dsa g
  4. dsa g=
  5. dh g

ライブラリ

クラス

モジュール

キーワード

検索結果

<< < 1 2 3 >>

Array#pack(template) -> String (178.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...のバイナリとしてパックするためのテンプレートを文字列で指定します。


以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます...
...のシステム依存性

各テンプレート文字の説明の中で、
short や long はシステムによらずそれぞれ 2, 4バイトサ
イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま
す。s, S, l, L に対しては直後に _ または !...
... GC されるまではGCされないことが保証されています。

unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
/...
...指定した場合は返値も指定した文字列オブジェクトになります。


以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることがで...

Array#pack(template, buffer: String.new) -> String (178.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...指定した場合は返値も指定した文字列オブジェクトになります。


以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることがで...
...のシステム依存性

各テンプレート文字の説明の中で、
short や long はシステムによらずそれぞれ 2, 4バイトサ
イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま
す。s, S, l, L に対しては直後に _ または !...
... GC されるまではGCされないことが保証されています。

unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
/...

Fiddle::Function#call(*args) -> Integer|DL::CPtr|nil (118.0)

関数を呼び出します。

...引数の変換は以下の通りです。

: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェ...
...るならば、それを呼びだし Fiddle::Pointer
変換したものを用います。
to_i を持っているならば、それを呼びだし結果の整数を
アドレスと見なします

: (unsigned) char/short/int/long/long long
Ruby の整数を C の整数に変換しま...
...す。

: void
nil を返します

: (unsigned) char/short/int/long/long long
C の整数を Ruby の整数に変換します

: void*(つまり任意のポインタ型)
C のポインタを保持した Fiddle::Pointer を返します。

@param args 関数の引数
@see Fiddle::Function.new...

Fiddle::Function.new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT, name: nil) -> Fiddle::Function (112.0)

ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。

...しくは関数を指している
Fiddle::Pointer を渡します。

args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を
意味します。
* 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::TYPE_SIZE_T
* Fi...
...# => true
p func.call("abc") # => 3
p func.name # => "strlen"

@param ptr C の関数を指す Fiddle::Pointer オブジェクトもしくは
アドレスを表す整数
@param args 引数の型を表す配列
@param ret_type 返り値の型
@param abi 呼出規約
@param name 関数の...

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (106.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

...として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。

signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。

opts には :st...
...オブジェクトを返します。

@param signature 関数の名前とシネグチャ
@param opts オプション


require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, size_t, size_t, v...
...x.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpack("i!")

x <=> y
}
end

data = [32, 180001, -13, -1, 0, 49].pack("i!*")
M.qsort(Fiddle::Pointer[data], 6, Fiddle::SIZEOF_INT, M["compare"])
p data.unpack("i!*") # => [-13, -1, 0, 32, 49, 180001]...

絞り込み条件を変える

Fiddle::Importer#sizeof(t) -> Integer (106.0)

C における sizeof(t) の値を返します。

...の場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。

それ以外の場合は Pointer[t].size を返します。

@param t サイズを計算する対象
@raise Fiddle::DLError t として文字列を渡し、それが表している...
...型を Fiddle が知らなかった
場合に発生します

例:

require 'fiddle/import'

module M
extend Fiddle::Importer
Timeval = struct(["long tv_sec", "long tv_usec"])
p sizeof("char") # => 1
p sizeof("void*") # => 8
p sizeof(Timeval) # => 16
end...

pack テンプレート文字列 (78.0)

pack テンプレート文字列

...pack テンプレート文字列

以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」...
...のシステム依存性

各テンプレート文字の説明の中で、
short や long はシステムによらずそれぞれ 2, 4バイトサ
イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま
す。s, S, l, L に対しては直後に _ または !...
... GC されるまではGCされないことが保証されています。

unpack("p"), unpack("P") は、pack の結果からしか unpack できません。
//emlist[][ruby]{
["foo"].pack("p").unpack("p") # => ["foo"]
"xp\xC2\x85\vV\x00\x00".unpack("p")
# => ArgumentError: no associated pointer
/...
...pack テンプレート文字列

以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで...
<< < 1 2 3 >>