るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
47件ヒット [1-47件を表示] (0.094秒)
トップページ > バージョン:2.3.0[x] > クエリ:l[x] > クエリ:ptr[x]

別のキーワード

  1. matrix l
  2. kernel $-l
  3. _builtin $-l
  4. lupdecomposition l
  5. l

検索結果

static VALUE lex_get_str(VALUE s) (78697.0)

文字列 s の lex_gets_ptr の後から一行取得し、返します。 lex_gets_ptr も進められます。

文字列 s の lex_gets_ptr の後から一行取得し、返します。
lex_gets_ptr も進められます。

Fiddle::Function#ptr -> Integer | Fiddle::Function (63604.0)

関数ポインタを返します。

関数ポインタを返します。

Fiddle::Function.new の第1引数として指定したものを返します。

Fiddle::Pointer#ptr -> Fiddle::Pointer (54640.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
...

char * StringValuePtr(VALUE val) (36901.0)

val が String でなければ to_str メソッドを使って String に変換し、 その実体のポインタを返します。

val が String でなければ to_str メソッドを使って String に変換し、
その実体のポインタを返します。

このマクロに渡した VALUE は ruby の GC から確実に保護されます。

Fiddle::ALIGN_INTPTR_T -> Integer (36601.0)

C の構造体における intptr_t のアライメントの値。

C の構造体における intptr_t のアライメントの値。

絞り込み条件を変える

Fiddle::ALIGN_PTRDIFF_T -> Integer (36601.0)

C の構造体における ptrdiff_t のアライメントの値。

C の構造体における ptrdiff_t のアライメントの値。

Fiddle::ALIGN_UINTPTR_T -> Integer (36601.0)

C の構造体における uintptr_t のアライメントの値。

C の構造体における uintptr_t のアライメントの値。

Fiddle::CStruct#to_ptr -> Fiddle::Pointer (27604.0)

保持している構造体へのポインタを返します。

保持している構造体へのポインタを返します。

WIN32OLE::VARIANT::VT_PTR -> Integer (27322.0)

ポインタ型を示します(26)。

ポインタ型を示します(26)。

VT_PTRは、VOID*に相当するため、OLEオートメーションでは利用できません。

WIN32OLE_PARAM#ole_type_detail -> [String] (27319.0)

パラメータの属性を取得します。

パラメータの属性を取得します。

@return 型の属性を文字列配列で返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'IWorksheetFunction')
method = WIN32OLE_METHOD.new(tobj, 'SumIf')
param1 = method.params[0]
p param1.ole_type_detail # => ["PTR", "USERDEFINED", "Range"]

パラメータの取り得る属性値はCOMのIDL(インターフ...

絞り込み条件を変える

Fiddle::SIZEOF_INTPTR_T -> Integer (27301.0)

Cでの sizeof(intptr_t) の値

Cでの sizeof(intptr_t) の値

Fiddle::SIZEOF_PTRDIFF_T -> Integer (27301.0)

Cでの sizeof(ptrdiff_t) の値

Cでの sizeof(ptrdiff_t) の値

Fiddle::SIZEOF_UINTPTR_T -> Integer (27301.0)

Cでの sizeof(uintptr_t) の値

Cでの sizeof(uintptr_t) の値

Fiddle::TYPE_INTPTR_T -> Integer (27301.0)

C の intptr_t 型を表す定数。

C の intptr_t 型を表す定数。

Fiddle::TYPE_PTRDIFF_T -> Integer (27301.0)

C の ptrdiff_t 型を表す定数。

C の ptrdiff_t 型を表す定数。

絞り込み条件を変える

Fiddle::TYPE_UINTPTR_T -> Integer (27301.0)

C の uintptr_t 型を表す定数。

C の uintptr_t 型を表す定数。

Resolv::DNS::Resource::PTR (27085.0)

DNS リソースの PTR レコード を表す抽象クラスです。

DNS リソースの PTR レコード
を表す抽象クラスです。

Resolv::DNS#getresource で PTR レコードを得たい場合は
Resolv::DNS::Resource::IN::PTR を使うべきです。

Resolv::DNS::Resource::IN::PTR (27049.0)

DNS リソースのクラス IN、タイプ PTR に対応する クラスです。

DNS リソースのクラス IN、タイプ PTR に対応する
クラスです。

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

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

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

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

IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。

val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、
Pointer オブジェクトに変換したものを返します。

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

上以外の場合は、整数に変換(to_int)し
それをアドレスとする P...

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

関数を呼び出します。

関数を呼び出します。

Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。

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

: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば FILE* が渡されます。
整数であればそれがアドレスとみ...

絞り込み条件を変える

char * rb_class2name(VALUE klass) (18619.0)

klass の名前を返します。 返り値の内容を変更したり free してはいけません。

klass の名前を返します。
返り値の内容を変更したり free してはいけません。

RSTRING(rb_class_path(klass))->ptr

と同じです。

Fiddle::NULL -> DL::CPtr (18601.0)

C の NULL ポインタ

C の NULL ポインタ

void * DATA_PTR(VALUE dta) (18601.0)

実際は struct RData* 型である dta から、 それがラップしているポインタを取り出します。

実際は struct RData* 型である dta から、
それがラップしているポインタを取り出します。

void * ruby_xrealloc(void *ptr, long size) (18601.0)

引数と返り値の意味は realloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。

引数と返り値の意味は realloc() と同じ。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは NoMemoryError を raise する。
つまりこの関数が返り値を返したときは常に割り当ては成功している。

void rb_gc_mark_children(VALUE ptr) (18601.0)

v から指されているオブジェクトを全てマークします。

v から指されているオブジェクトを全てマークします。

絞り込み条件を変える

WIN32OLE_METHOD#return_type_detail -> [String] (18319.0)

返り値の型と属性を取得します。

返り値の型と属性を取得します。

@return 返り値の型と属性を文字列配列で返します。

tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
method = WIN32OLE_METHOD.new(tobj, 'Workbooks')
p method.return_type_detail # => ["PTR", "USERDEFINED", "Workbooks"]

属性が付加されていない場合は、WIN32OLE_METHOD#return_typeを要素と
...

fiddle (18091.0)

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

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

dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。

=== 使い方

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

require ...

fiddle/import (18073.0)

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。

主な使い方は fiddle も参照してください。

=== 高度な使用法

==== ○○の配列を関数に渡したい

例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
m...

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

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

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

ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。

args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を
意味します。
* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fidd...

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

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

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

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

IO オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。

val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、
Pointer オブジェクトに変換したものを返します。

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

上以外の場合は、整数に変換(to_int)し
それをアドレスとする P...

絞り込み条件を変える

Fiddle::Pointer#+@ -> Fiddle::Pointer (9340.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
...

Fiddle::Importer#union(signature) -> Class (9337.0)

C の共用体型に対応する Ruby のクラスを構築して返します。

C の共用体型に対応する Ruby のクラスを構築して返します。

共用体型を Ruby 上で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "lib...

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

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

自身を指す 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 ...

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

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

自身を指す 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 ...

Fiddle::Importer#struct(signature) -> Class (9319.0)

C の構造体型に対応する Ruby のクラスを構築して返します。

C の構造体型に対応する Ruby のクラスを構築して返します。

構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。

このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
...

絞り込み条件を変える

Resolv::DNS#each_resource(name, typeclass) {|resource| ...} -> () (9319.0)

nameに対応するDNSリソースレコードを取得します。 見つかったリソースをひとつずつブロックに渡します。

nameに対応するDNSリソースレコードを取得します。
見つかったリソースをひとつずつブロックに渡します。

typeclass は以下のいずれかです。
* Resolv::DNS::Resource::IN::ANY
* Resolv::DNS::Resource::IN::NS
* Resolv::DNS::Resource::IN::CNAME
* Resolv::DNS::Resource::IN::SOA
* Resolv::DNS::Resource::IN::HINFO
* Resolv::DNS::Resource::IN::MINFO
* Res...

Resolv::DNS#getresource(name, typeclass) -> Resolv::DNS::Resource (9319.0)

nameに対応するDNSリソースレコードを取得します。 最初に見つかったリソースを返します。

nameに対応するDNSリソースレコードを取得します。
最初に見つかったリソースを返します。

typeclass は以下のいずれかです。
* Resolv::DNS::Resource::IN::ANY
* Resolv::DNS::Resource::IN::NS
* Resolv::DNS::Resource::IN::CNAME
* Resolv::DNS::Resource::IN::SOA
* Resolv::DNS::Resource::IN::HINFO
* Resolv::DNS::Resource::IN::MINFO
* Resolv::DNS...

Resolv::DNS#getresources(name, typeclass) -> [Resolv::DNS::Resource] (9319.0)

nameに対応するDNSリソースレコードを取得します。 見つかったリソース全てを配列にして返します。

nameに対応するDNSリソースレコードを取得します。
見つかったリソース全てを配列にして返します。

typeclass は以下のいずれかです。
* Resolv::DNS::Resource::IN::ANY
* Resolv::DNS::Resource::IN::NS
* Resolv::DNS::Resource::IN::CNAME
* Resolv::DNS::Resource::IN::SOA
* Resolv::DNS::Resource::IN::HINFO
* Resolv::DNS::Resource::IN::MINFO
* Resolv:...

Fiddle::Function#to_i -> Integer (9019.0)

関数ポインタのアドレスを整数で返します。

関数ポインタのアドレスを整数で返します。

@see Fiddle::Function#ptr

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

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

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

t が文字列の場合、その文字列が表す C の型の size が返されます。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。

Fiddle::Importer#struct で定義した
構造体クラスを渡すと、その構造体のサイズを返します。
Fiddle::Importer#union で定義した共用体クラスも同様です。

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

それ...

絞り込み条件を変える

Fiddle::Pointer#size -> Integer (9019.0)

自身の指す領域のサイズを返します。

自身の指す領域のサイズを返します。

基本的には Fiddle::Pointer.new で指定したサイズが返されます。
Fiddle::Pointer.to_ptr で文字列を変換したときは、そのバイト数が返されます。
Fiddle::Pointer#size= でこの値を変更することができます。

VALUE rb_str_cat2(VALUE str, const char *ptr) (997.0)

文字列 str に C の文字列 ptr を破壊的に 連結します。ptr はヌル終端を仮定しています。

文字列 str に C の文字列 ptr を破壊的に
連結します。ptr はヌル終端を仮定しています。

VALUE rb_str_cat(VALUE str, const char *ptr, long len) (949.0)

文字列 str に、長さ len (NUL 含まず)の C の文字列 ptr を破壊的に連結します。

文字列 str に、長さ len (NUL 含まず)の C の文字列
ptr を破壊的に連結します。

VALUE rb_str_new2(const char *ptr) (697.0)

rb_str_new(ptr, strlen(ptr))

rb_str_new(ptr, strlen(ptr))

VALUE rb_str_new(const char *ptr, long len) (649.0)

ptr から len バイト分をコピーして Ruby の文字列を作成し返します。

ptr から len バイト分をコピーして
Ruby の文字列を作成し返します。

rb_str_new(0,0)

では空文字列を生成して返します。

絞り込み条件を変える

VALUE rb_ary_entry(VALUE ary, long offset) (619.0)

ary のインデックス offset の要素を返します。

ary のインデックス offset の要素を返します。

インデックスが範囲を越えるときは Qnil を返します。
負のインデックスも使えます。

対応するRubyコード

ary[offset] または
ary.at(offset)

使用例

VALUE num;
num = rb_ary_entry(ary, offset);
printf("%d\n", FIX2INT(num));

キャストを使った要素の参照方法

VALUE num = RARRAY(ary)->ptr[offset];

static inline int is_pointer_to_heap(void *ptr) (601.0)