るりまサーチ

最速Rubyリファレンスマニュアル検索!
72件ヒット [1-72件を表示] (0.045秒)
トップページ > クエリ:Extend[x] > クエリ:sizeof[x]

別のキーワード

  1. json extend
  2. mutex_m extend_object
  3. irb/extend-command def_extend_command
  4. irb/extend-command install_extend_commands
  5. object extend

ライブラリ

モジュール

検索結果

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

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

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

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

Fiddle::Importer#struct...
...ている型を Fiddle が知らなかった
場合に発生します

例:

require 'fiddle/import'

module M
extend
Fiddle::Importer
Timeval = struct(["long tv_sec", "long tv_usec"])
p sizeof("char") # => 1
p sizeof("void*") # => 8
p sizeof(Timeval) # => 16
end...

ruby 1.6 feature (42.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

...), ((<ruby-ext:01778>)), ((<ruby-dev:13659>))

: sync
: mutex_m

Fixed for obj.extend(Sync_m) and obj.extend(Mutex_m).((<ruby-dev:13463>))

$ ruby -v -rsocket -rmutex_m -e 's=TCPSocket.new("localhost",25); s.extend(Mutex_m)'
ruby 1.6.4 (2001-06-04) [i386-linux]
/usr/lib/ruby/1.6/mutex_...
...uby/1.6/mutex_m.rb:104:in `initialize'
from /usr/lib/ruby/1.6/mutex_m.rb:50:in `mu_extended'
from /usr/lib/ruby/1.6/mutex_m.rb:34:in `extend_object'
from -e:1:in `extend'
from -e:1

: $SAFE / ((<load|組み込み関数>))

1 <= $SAFE <= 3 で、第...
...p

((<Float>)) を dump するときの精度が "%.12g" から "%.16g" になりました。
((<ruby-list:29349>))

: ((<Fixnum>))#[]

sizeof
(long) > sizeof(int) なシステムでのバグが修正されたようです。

: 正規表現

まれなバグが2件修正されました ((<ruby...

1.6.8から1.8.0への変更点(まとめ) (30.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

...第二引数に true を指定した load でロード
されるスクリプトのもとではモジュールの機能を self に
((<Object/extend>)) するように変更されました。

: ((<Module#include|Module/include>)) [change], [experimental]

wrapper モジュールで評価さ...
...))

: ((<Module#include|Module/include>)) [change]
: ((<Object#extend|Object/extend>)) [change]

複数のモジュールを渡したときにインクルードされる順序が変更されました。
((<ruby-dev:16035>))
extend
も同様だそうです。((<ruby-dev:16183>))

一つ一...
...[lib] [new]

追加

: ((<"io/wait">)) [lib] [new]

追加

: ((<mkmf>)) [lib] [new]

新しい判定メソッド have_type(), check_sizeof() が追加されました。

: ((<pathname>)) [lib] [new]

追加

: ((<resolv>)) [lib] [compat]

Win32 に対応しました...

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (24.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

...module M
extend
Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, size_t, size_t, void*)"

bind("int compare(void*, void*)"){|px, py|
x = px.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpa...
...ck("i!")

x <=> y
}
end

data = [32, 180001, -13, -1, 0, 49].pack("i!*")
M.qsort(Fiddle::Pointer[data], 6, Fiddle::SIZEOF_INT, M["compare"])
p data.unpack("i!*") # => [-13, -1, 0, 32, 49, 180001]...

fiddle/import (24.0)

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

...ったとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend
Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0, 4.0].pack('d*'), 3) #=> 9.0

また与...
...en)
があったとします。これを呼び出すにも以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend
Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **, char *, int)'
end
buf = '111'
M.first_char(['Abc', 'Def', '...
...end

buff = [Time.at(1), Time.now, Time.at(100), Time.at(10)]
a = buff.map{|t| Fiddle.dlwrap(t)}.pack('l!*')
M.qsort(a, buff.size, Fiddle::SIZEOF_VOIDP, M::QsortCallback)
p a.unpack('l!*').map{|t| Fiddle.dlunwrap(t).to_i } #=> [1, 10, 100, 1241603848]

==== 複雑な構造体...

絞り込み条件を変える

fiddle/types (18.0)

C の型の別名を定義するライブラリです。

...e 'fiddle/types'

module M
extend
Fiddle::Importer
dlload "libc.so.6" # include の前に dlload を呼ぶ
include Fiddle::BasicTypes
end

# uint は Fiddle::BasicTypes によって定義された型で、unsigned int の別名
p(M.sizeof("uint") == M.sizeof("unsigned int"))...