るりまサーチ

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

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Fiddle::Function#ptr -> Integer | Fiddle::Function (24301.0)

関数ポインタを返します。

...関数ポインタを返します。

Fiddle::Function.new の第1引数として指定したものを返します。...

Fiddle::Importer#union(signature) -> Class (9112.0)

C の共用体型に対応する Ruby のクラスを構築して返します。

...で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'

module M
extend Fiddle::Importer
dlload...
...nsigned long long")

EPollData = union(["void *ptr",
"int fd",
"uint32_t u32",
"uint64_t u64",
])
end
となります。

返されるクラスは Fiddle::CUnion を継承しています。

1.9.x で...

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

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

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

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

args、ret_type で関...
...* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fiddle::TYPE_CHAR
* Fiddle::TYPE_SHORT
* Fiddle::TYPE_INT
* Fiddle::TYPE_LONG
* Fiddle::TYPE_LONG_LONG
* Fiddle::TYPE_FLOAT
* Fiddle::TYPE_DOUBLE
* Fiddle::TYPE_INTPTR_T
* Fiddle::TYPE_UINTPTR_T
* Fiddle::TYPE_PTRDIFF_T
* Fiddle::...
...T
* Fiddle::TYPE_SSIZE_T


abi で呼出規約を指定します。
* Fiddle::Function::DEFAULT
* Fiddle::Function::STDCALL
のどちらかを指定します。

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
func = Fiddle::Function.new(h.sym("strlen"), [Fiddle::TYPE_VOIDP],...

Fiddle::Pointer.to_ptr(val) -> Fiddle::Pointer (6225.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

...域を指す Pointer
オブジェクトを返します。

IO
オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。

val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、
Pointer オブジェクトに変換したも...
...トを指定します。

@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します

例:

require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i...

Fiddle::Function#call(*args) -> Integer|DL::CPtr|nil (6112.0)

関数を呼び出します。

...Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。

引数の変換は以下の通りです。

: void*...
...ます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO
オブジェクトであれば FILE* が渡されます。
整数であればそれがアドレスとみなされます。
to_ptr を持っ...
...ているならば、それを呼びだし Fiddle::Pointer に
変換したものを用います。
to_i を持っているならば、それを呼びだし結果の整数を
アドレスと見なします

: (unsigned) char/short/int/long/long long
Ruby の整数を C の整数に変換...

絞り込み条件を変える

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"
QsortCallback = bind("void *qsort_callback2(void*,void*)"){|ptr1,ptr2|
ptr
1[0] <=> ptr2[0]
}
type
extern 'void qsort(void *, int, int, void *)'
end

buff = "3465721"...
...rtCallback)
p buff #=> "1234567"

ここで M::QsortCallback はブロックを呼ぶ Fiddle::Function オブジェクトです。


==== ポインタを扱う

fiddle においては、文字列/整数/Fiddle::Pointerをポインタとして
扱うことができます。
文字列をポイン...
...わりに使います。

=== 使い方

通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のように...

Fiddle::Function#to_i -> Integer (6006.0)

関数ポインタのアドレスを整数で返します。

...関数ポインタのアドレスを整数で返します。

@see Fiddle::Function#ptr...

Fiddle::Pointer.[](val) -> Fiddle::Pointer (3125.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

...域を指す Pointer
オブジェクトを返します。

IO
オブジェクトの場合は FILE ポインタを表す Pointer オブジェクトを返します。

val に to_ptr メソッドが定義されている場合は、val.to_ptr を呼び、
Pointer オブジェクトに変換したも...
...トを指定します。

@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します

例:

require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i...

ruby 1.6 feature (108.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) ->...
...べきです。((<ruby-dev:17193>))

ruby '-*' -v
=> ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby: invalid option -* (-h will show valid options)

: 2002-05-22 parsedate

バージョンアップ((<ruby-dev:17171>))

: 2002-05-22 -T オプション

ruby のコマンド...
...メソッドを定義できるようにな
りました。

class <<true
def foo
"foo"
end
end
p tr
ue.foo
=> -:1: no virtual class for true (TypeError)
ruby 1.6.6 (2001-12-26) [i586-linux]

=> ruby 1.6.7 (2002-03-01)...

ruby 1.8.4 feature (78.0)

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

...f [bug]>))
* ((<ruby 1.8.4 feature/Hash [bug]>))
* ((<ruby 1.8.4 feature/test [bug]>))
* ((<ruby 1.8.4 feature/File.identical? [new]>))
* ((<ruby 1.8.4 feature/FileTest.identical? [new]>))
* ((<ruby 1.8.4 feature/File.split [change]>))
* ((<ruby 1.8.4 feature/File.basename [change]>))...
.../File.join [bug]>))
* ((<ruby 1.8.4 feature/Thread#pass [bug]>))
* ((<ruby 1.8.4 feature/Module#const_missing [bug]>))
* ((<ruby 1.8.4 feature/IO [bug]>))
* ((<ruby 1.8.4 feature/添付ライブラリ>))
* ((<ruby 1.8.4 feature/"Ruby/Tk">))
* ((<ruby 1.8.4 feature/REXML [compat]>))
* ((<...
...: delete wrong call
# of "join".
#
# ?

: DL [bug]

#Thu Sep 29 10:26:18 2005 Tanaka Akira <akr@m17n.org>
#
# * ext/dl/dl.c (rb_io_to_ptr): abolish sizeof(FILE).
# [ruby-dev:27317]

FILEが不完全型としてしか定義されない環境に対応。((<ruby-dev:27317>...

絞り込み条件を変える

<< 1 2 > >>