59件ヒット
[1-59件を表示]
(0.052秒)
別のキーワード
種類
- 文書 (23)
- ライブラリ (12)
- インスタンスメソッド (12)
- マクロ (12)
ライブラリ
-
fiddle
/ import (12)
モジュール
-
Fiddle
:: Importer (12)
キーワード
-
Data
_ Wrap _ Struct (12) -
NEWS for Ruby 2
. 2 . 0 (11) - fiddle (12)
-
ruby 1
. 6 feature (12)
検索結果
先頭5件
-
Fiddle
:: Importer # struct(signature) -> Class (18147.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...C の構造体型に対応する Ruby のクラスを構築して返します。
構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_u......造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。
このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
* initialize
* to_ptr
* to_i......* 構造体の各メンバへのアクセサ
返されるクラスは Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。
@param signature 構造体の各要素を文字列で表現したものの配列
require 'fiddle/import'
module M
ext... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (6358.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
...インスタンスである Ruby オブジェクトを生成し、それを返します。
mark、free はそれぞれ sval のマーク用・解放用の
関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下......。
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);
}... -
ruby 1
. 6 feature (5191.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) ->......puts md
puts MD5.hexdigest("123")
: ((<Struct>))
フリーズされた構造体オブジェクトが変更できていました。また、$SAFE =
4 のときの変更を禁止するようにしました。((<ruby-talk:19167>))
cat = Struct.new("Cat", :name, :age, :life)
a = cat.......3741824
# => ruby 1.6.4 (2001-04-19) [i586-linux]
1073741824
: ((<Float>))#modulo, ((<Float>))#divmod
なんか修正されたみたいです ((<ruby-dev:12718>))
: ((<ObjectSpace>))#_id2ref
不正に例外を返す場合がありました。
: malloc の再帰呼び出... -
NEWS for Ruby 2
. 2 . 0 (3087.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......_pack -> rb_integer_pack
* rb_quad_unpack -> rb_integer_unpack
* rb_read_check : access struct FILE internal. no replacement.
* rb_struct_iv_get : internal function. no replacement.
* struct rb_blocking_region_buffer : internal type. no replacement.
* rb_thread_blocking_region_be......XT を参照してください。
=== ビルドシステムの更新
* ./configure のオプション --with-jemalloc を追加しました。
jemalloc はシステムの malloc が遅かったり、フラグメンテーションする傾向にある場合に適切かもしれません。911... -
fiddle (42.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...Timeval = struct( ["long tv_sec",
"long tv_usec"])
end
timeval = M::Timeval.malloc
e = M.gettimeofday(timeval, nil)
if e == 0
p timeval.tv_sec #=> 1173519547
end
上の例で、メモリの割り当てに M::Timeval.new ではなく
M::Timeval.malloc を使用し......り値
fiddle でインポートした C の関数を呼び出すとき、
その引数と返り値はインポートする際に指定した型と
Ruby のオブジェクトの種類によって変換されます。
引数の変換は以下の通りです。
: void* (つまり任意のポイン......g
Ruby の整数を C の整数に変換します。
: double/float
Ruby の整数 or 浮動小数点数を C の浮動小数点数に変換します
返り値の変換は以下の通りです。
: void
nil を返します
: (unsigned) char/short/int/long/long long
C の整数を Ruby...