種類
- 文書 (33)
- モジュール関数 (22)
- インスタンスメソッド (22)
- 特異メソッド (11)
- ライブラリ (11)
ライブラリ
- fiddle (22)
-
fiddle
/ import (22) - objspace (11)
クラス
-
Fiddle
:: Pointer (11)
モジュール
- Fiddle (11)
-
Fiddle
:: Importer (22) - ObjectSpace (11)
キーワード
-
NEWS for Ruby 2
. 1 . 0 (11) -
create
_ value (11) - fiddle (11)
- free (11)
-
memsize
_ of _ all (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - value (11)
検索結果
先頭5件
-
Fiddle
:: Pointer . malloc(size , free = nil) -> Fiddle :: Pointer (21302.0) -
与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
...size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
@param size 確保したいメモリ領域のサイズを整数で指定します。
@param free GC 時に呼ばれる Pointer オブジェクトの free 関数を
Fiddle::Functio... -
ObjectSpace
. # memsize _ of _ all(klass = nil) -> Integer (6207.0) -
すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位 で返します。
...ドは以下のような Ruby のコードで定義できます。
//emlist[例][ruby]{
def memsize_of_all klass = false
total = 0
ObjectSpace.each_object{|e|
total += ObjectSpace.memsize_of(e) if klass == false || e.kind_of?(klass)
}
total
end
//}
戻り値の内容は完全ではな......くまでもヒ
ントとして扱う必要があります。特に T_DATA の値は正しくないでしょう。
また、同様に戻り値の内容は malloc されたメモリの合計でもない事に注意し
てください。
本メソッドは C Ruby 以外では動作しません。... -
fiddle (6036.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュー......require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern('int gettimeofday(void *, void *)')
Timeval = struct( ["long tv_sec",
"long tv_usec"])
end
timeval = M::Timeval.malloc
e = M.gettimeofday(timeval, nil)
if e == 0
p timeval......M::Timeval.new ではなく
M::Timeval.malloc を使用していることに注意してください。
==== コールバック
以下のようにモジュール関数 bind を使用したコールバックを定義できます。
require 'fiddle/import'
module M
extend Fiddle::Importer......りに使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユ... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (3224.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定......された構造体に
その値を代入します。
@param type 型を表す文字列
@param val 構造体に確保される初期値
例
require 'fiddle/import'
module M
extend Fiddle::Importer
end
v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48... -
Fiddle
:: Importer # value(type , val = nil) -> Fiddle :: CStruct (3224.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定......された構造体に
その値を代入します。
@param type 型を表す文字列
@param val 構造体に確保される初期値
例
require 'fiddle/import'
module M
extend Fiddle::Importer
end
v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48... -
Fiddle
. # free(addr) -> nil (3219.0) -
指定された addr が指すメモリ領域を開放します。
...ず Fiddle.#malloc が返した整数を addr に与えなければいけません。
そうでない場合、ruby インタプリタが異常終了します。
@param addr Fiddle.#malloc で確保されたメモリ領域を指す整数を指定します。
例:
require 'fiddle'
addr = Fiddle.......malloc(10)
p addr #=> 136942800
Fiddle.free(addr)... -
ruby 1
. 6 feature (1332.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) ->......tring#slice!
範囲外の文字列を指定したときに例外を返す場合がありましたが、常に nil
を返すようになりました。(String#[]やString#slice と同じ結果を返すと
いうことです)
p "foo".slice!("bar") # <- 以前からこちらは nil......9) [i586-linux]
1073741824
: ((<Float>))#modulo, ((<Float>))#divmod
なんか修正されたみたいです ((<ruby-dev:12718>))
: ((<ObjectSpace>))#_id2ref
不正に例外を返す場合がありました。
: malloc の再帰呼び出し問題
stdio が内部で malloc()... -
ruby 1
. 8 . 4 feature (168.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど
* 互換性のある変更
* only backward-compatibility
* 影......なるバグの修正。((<ruby-list:41328>))
p(/^[a-z]+x[0-9]+$/ =~ "hogex111")
p(/^[\x61-\x7a]+x[0-9]+$/ =~ "hogex111")
# => ruby 1.8.3 (2005-09-21) [i686-linux]
0
nil
# => ruby 1.8.4 (2005-12-22) [i686-linux]
0......3_EXT_nconf_nid.
#
# * ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
# OPENSSL_malloc to allocate X509V3_CTX.
#
# * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use
# X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which
#... -
NEWS for Ruby 2
. 1 . 0 (48.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可...... i を付けると虚数単位 i を掛けた数になる
42i # => Complex(0, 42)
3.14i # => Complex(0, 3.14)
# ri を付けると複素数の虚部が有理数になる
42ri # => Complex(0, 42r)
3.14ri # => Complex(0, 3.14r)
//}
* def によるメソッド定義式は nil......HEAP_INIT_SLOTS
* RUBY_GC_HEAP_FREE_SLOTS
* RUBY_GC_HEAP_GROWTH_FACTOR
* RUBY_GC_HEAP_GROWTH_MAX_SLOTS
* RUBY_GC_MALLOC_LIMIT_MAX
* RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR
* RUBY_GC_OLDMALLOC_LIMIT
* RUBY_GC_OLDMALLOC_LIMIT_MAX
* RUBY_GC_OLDMALLOC_LIMIT_GRO...