るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.012秒)

別のキーワード

  1. pointer []
  2. pointer []=
  3. pointer to_s
  4. pointer to_str
  5. pointer eql?

ライブラリ

クラス

キーワード

検索結果

Fiddle::Function#call(*args) -> Integer|DL::CPtr|nil (18119.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...

ruby 1.8.4 feature (60.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

...)
* ((<ruby 1.8.4 feature/mkmf: find_executable() [compat]>))
* ((<ruby 1.8.4 feature/拡張ライブラリAPI>))
* ((<ruby 1.8.4 feature/rb_funcall2() [bug]>))
* ((<ruby 1.8.4 feature/rb_respond_to() [change]>))
* ((<ruby 1.8.4 feature/rb_obj_respond_to() [new]>))
* ((<ruby 1.8.4 feature/...
...cted '(', expecting $end

#Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (rb_call_super): should call method_missing if super is
# called from Kernel method.
#
# * eval.c (exec_under): frame during eval should preserve external
# informat...
...: 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...

Fiddle::Function.new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT, name: nil) -> Fiddle::Function (18.0)

ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。

...ddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。

args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。...
...:STDCALL
のどちらかを指定します。

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
func = Fiddle::Function.new(h.sym("strlen"), [Fiddle::TYPE_VOIDP],
Fiddle::TYPE_INT, name: "strlen")
p func.ptr == h.sym("strlen") # => true
p func.call("ab...
...c") # => 3
p func.name # => "strlen"

@param ptr C の関数を指す Fiddle::Pointer オブジェクトもしくは
アドレスを表す整数
@param args 引数の型を表す配列
@param ret_type 返り値の型
@param abi 呼出規約
@param name 関数の名前(文字列)...