ライブラリ
- ビルトイン (14)
- fiddle (24)
-
fiddle
/ import (36) - objspace (12)
クラス
-
Fiddle
:: Pointer (12)
モジュール
- Fiddle (12)
-
Fiddle
:: Importer (36) - GC (12)
- ObjectSpace (12)
- Process (2)
キーワード
-
Data
_ Wrap _ Struct (12) - OPTS (12)
-
create
_ value (12) - fiddle (12)
- free (12)
-
memsize
_ of _ all (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - struct (12)
- value (12)
- warmup (2)
検索結果
先頭5件
-
Fiddle
:: Pointer . malloc(size , free = nil) -> Fiddle :: Pointer (21201.0) -
与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
...長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
@param size 確保したいメモリ領域のサイズを整数で指定します。
@param free GC 時に呼ばれる Pointer オブジェクトの free 関数を
Fiddle::... -
GC
:: OPTS -> [String] (6118.0) -
コンパイル時に指定したGCのオプションです。
..."RGENGC_PROFILE"
* "RGENGC_ESTIMATE_OLDMALLOC"
* "GC_PROFILE_MORE_DETAIL"
* "GC_ENABLE_LAZY_SWEEP"
* "CALC_EXACT_MALLOC_SIZE"
* "MALLOC_ALLOCATED_SIZE"
* "MALLOC_ALLOCATED_SIZE_CHECK"
* "GC_PROFILE_DETAIL_MEMORY"
例:
GC::OPTS # => ["USE_RGENGC", "RGENGC_ESTIMATE_OLDMALLOC", "GC_E......NABLE_LAZY_SWEEP"]
# この場合、GCデバッグ機能やプロファイル機能は無効化されている... -
Process
. # warmup -> true (6112.0) -
RubyVMにアプリケーションの起動が終了したこと及び、アプリケーションの最適化に適したタイミングであることを通知します。
...の整合性の情報)を事前計算します
(4) すべての空のヒープページを解放し、解放したページ数だけ割当可能なページカウンター(heap_allocatable_pages)を増分します
(5) 空のmallocページを解放するためにmalloc_trimを呼び出します... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (6106.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
...す。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には sval が渡されます。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *m = malloc(sizeof(struct mytype));
m......->i = 0;
m->s = 0;
return Data_Wrap_Struct(MyClass, 0, free_my, m);
}... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (3128.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列......された構造体に
その値を代入します。
@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 (3128.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列......された構造体に
その値を代入します。
@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 # struct(signature) -> Class (3024.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...れています
* クラスメソッド malloc
* initialize
* to_ptr
* to_i
* 構造体の各メンバへのアクセサ
返されるクラスは Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。
@param signature 構造体の各要素を文......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
time = M::Timeval.malloc
M.gettimeofday(time, Fiddle::NULL)
p time.tv_sec
p time.tv_usec... -
ObjectSpace
. # memsize _ of _ all(klass = nil) -> Integer (3006.0) -
すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位 で返します。
...すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位
で返します。
@param klass 指定したクラスのインスタンスのメモリ使用量を返します。省略
した場合はすべてのクラスのインスタンス......ような 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 以外では動作しません。... -
ruby 1
. 6 feature (780.0) -
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) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ......システムでは、EWOULDBLOCK は、EAGAIN
として定義されています。(これは 1.6.7 とは異なる挙動です)
p Errno::EAGAIN
p Errno::EWOULDBLOCK
=> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK......)
: ((<ObjectSpace>))#_id2ref
不正に例外を返す場合がありました。
: malloc の再帰呼び出し問題
stdio が内部で malloc() を呼び出す場合、Thread と相性が悪かったことに対
処しました。(setvbuf() を使用することで malloc() が呼ばれ... -
ruby 1
. 8 . 4 feature (96.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど
* 互換性のある変更
* only backward-compatibility
*......された(される予定の)機能
* [platform]: 対応プラットフォームの追加
== 目次
* ((<ruby 1.8.4 feature/Ruby本体>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/super [bug]>))
* ((<ruby 1.8.4 feature/正規......。
#: OpenSSL
#Wed Nov 23 07:26:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
#
# * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.
#
# * ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
# OPENSSL_malloc to allocate X509V3_CTX.
#
# * ext/openssl/ossl_x5...