ライブラリ
- ビルトイン (33)
- fiddle (384)
-
fiddle
/ import (60) - strscan (60)
クラス
- Array (21)
-
Fiddle
:: CStruct (12) -
Fiddle
:: Function (24) -
Fiddle
:: Pointer (348) - String (12)
- StringScanner (48)
モジュール
-
Fiddle
:: Importer (36)
キーワード
- + (12)
- +@ (12)
- - (12)
- -@ (12)
- <=> (12)
- == (12)
- CStruct (12)
- Pointer (12)
- StringScanner (12)
- [] (36)
- []= (24)
- bind (12)
- call (12)
- eql? (12)
- fiddle (12)
- free (12)
- free= (12)
-
import
_ symbol (12) -
is
_ pointer _ to _ heap (12) - malloc (12)
- new (24)
- null? (12)
- pack (21)
- pack テンプレート文字列 (12)
- pointer= (12)
- pos (12)
- pos= (12)
- ptr (12)
- ref (12)
-
ruby 1
. 8 . 4 feature (12) - size (12)
- size= (12)
- sizeof (12)
-
to
_ i (12) -
to
_ int (12) -
to
_ ptr (24) -
to
_ s (24) -
to
_ str (24) -
to
_ value (12) - unpack (12)
検索結果
先頭5件
-
Fiddle
:: Pointer # to _ str -> String (3000.0) -
自身が指す領域から長さ len の文字列を複製して返します。
自身が指す領域から長さ len の文字列を複製して返します。
len を省略した場合は、self.size をその代わりに使います。
@param len 文字列の長さを整数で指定します。 -
Fiddle
:: Pointer # to _ str(len) -> String (3000.0) -
自身が指す領域から長さ len の文字列を複製して返します。
自身が指す領域から長さ len の文字列を複製して返します。
len を省略した場合は、self.size をその代わりに使います。
@param len 文字列の長さを整数で指定します。 -
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (107.0) -
取り込んだライブラリからシンボルをインポートします。
...取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列)... -
Fiddle
:: CStruct # to _ ptr -> Fiddle :: Pointer (101.0) -
保持している構造体へのポインタを返します。
保持している構造体へのポインタを返します。 -
fiddle (24.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...ブロックを呼ぶ Fiddle::Function オブジェクトです。
==== ポインタを扱う
fiddle においては、文字列/整数/Fiddle::Pointerをポインタとして
扱うことができます。
文字列をポインタ引数として渡すと文字列のメモリ領域を指す
ポ......引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェ......ます。
整数であればそれがアドレスとみなされます。
to_ptr を持っているならば、それを呼びだし Fiddle::Pointer に
変換したものを用います。
to_i を持っているならば、それを呼びだし結果の整数を
アドレスと見なし... -
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (18.0) -
関数を呼び出します。
...引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェ......ます。
整数であればそれがアドレスとみなされます。
to_ptr を持っているならば、それを呼びだし Fiddle::Pointer に
変換したものを用います。
to_i を持っているならば、それを呼びだし結果の整数を
アドレスと見なし......。
: 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 (12.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
...ddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。......trlen")
p func.ptr == h.sym("strlen") # => true
p func.call("abc") # => 3
p func.name # => "strlen"
@param ptr C の関数を指す Fiddle::Pointer オブジェクトもしくは
アドレスを表す整数
@param args 引数の型を表す配列
@param ret_type 返り値の型
@param... -
StringScanner (12.0)
-
StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。
...す。マッチしたらその後ろにポインタを進めます。
//emlist[例][ruby]{
require 'strscan'
## a string and a scan pointer ("_" = scan pointer)
s = StringScanner.new('This is an example string')
# _This is an example string s.eos? = false
s.scan(/\w+/)
# This_ is an example... -
ruby 1
. 8 . 4 feature (12.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...: File.join [bug]
#Wed Oct 19 08:28:32 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
#
# * file.c (rb_file_join): elements may contain null pointer strings.
# report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]
NULLポインタを持つStringを渡すとFile.joinがSEG......c: fixed GC problem (backported HEAD 1.55 - 1.62)
# [ruby-dev:27839]
#
# * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
# NULL or not before S_FREE.
#
# * st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert
# in gram.c to...